1

asp.net で 2 つの異なる Web サイトを使用しています。最初のプロジェクトでは、プロジェクトルートの下の特定のフォルダーにいくつかの画像をアップロードし、データベースにファイル名だけを保存します.2番目のプロジェクトのいくつかのページにこの画像を表示しようとしています。データベースと画像からファイル名を知っていますフォルダーを絶対パットとして表示しましたが、画像を表示できませんでした。firebug で画像 src を調べたときに正しいsrc="D:/MyFolder/image.jpg"ディレクトリを指していないため、画像が表示されない可能性があります。また、Server.MapPath を使用してから D の場所を使用しようとしましたが、まだ成功していません。

誰かが以前に同じ状況に直面したことがあり、これを管理するためのヒントを得ることを本当に望んでいたと確信しています. 前もって感謝します

4

4 に答える 4

2

プロジェクトにないイメージを表示したい場合 (つまり、他のプロジェクトまたは他のドライブに存在することを意味します)、IIS で仮想ディレクトリを作成するだけです。

  1. 「実行」に移動し、入力しますinetmgr
  2. プロジェクトを右クリックして、仮想ディレクトリを追加します
  3. プロジェクト内のフォルダーのように機能するように、エイリアス名とパスを指定します
于 2012-05-15T08:00:07.970 に答える
2

私は自分の解決策を奇妙に見つけましたが、以前はそれを見つけませんでした。プロジェクトの下にアップロードされた写真は、プロジェクトの URL を使用して常にアクセスできますhttp://www.yourwebsite.com/images/photo.png。2 番目のプロジェクトでは、この URL を使用して画像を参照し、データベースに保存するファイル名を連結することができます。これが最善の解決策であり、他の問題を引き起こす可能性があると思われるコードアクセスセキュリティを変更しないと思います. とにかくありがとう。

于 2010-01-06T09:13:08.983 に答える
1

デフォルトでは、アプリケーションパスの外部でファイルを提供できるとは思いません。これは、コードアクセスセキュリティと呼ばれます。ここでそれを読むことができます:http:
//msdn.microsoft.com/en-us/library/930b76w0.aspx

これを修正するには、web.configで信頼レベルをHighに変更します:http:
//msdn.microsoft.com/en-us/library/tkscy493.aspx

外部からアクセスできるサイトでこれを行うことはお勧めしません。実際、アプリケーションをホストする方法/場所によっては、このオプションが制限される場合があります。

于 2010-01-05T22:34:03.977 に答える
1

同じプロジェクトに関連して存在するファイル、または絶対 URL を介して別のサイトでホストされているファイルにのみ「リンク」できます。

アプリケーション/Web サイトの外部 (ディスク上またはデータベース内) でファイルを処理する場合は、ファイルを取得してバイナリをブラウザーに書き込むメカニズムを構築し、MIME タイプなどを設定する必要があります。 HttpHandler。

于 2010-01-05T22:38:50.600 に答える