0

これは基本的な質問のように思えますが、これを行う適切な方法を探しています。一連の画像を表示していますが、それらのソースは次のように表示されます。

src="@Server.MapPath(Path.Combine("~/App_Data/",photo.ClientId.ToString(),photo.PhotoId.ToString())+photo.FileExt.ToString())"

次のようにコンパイルされます。

"c:\users\architect\documents\visual studio 2012\Projects\PhotoManagement\PhotoManagement\App_Data\5\62.jpg"

ファイルがこの場所に存在することをトリプルチェックしました。ブラウザがこの画像の表示を拒否するのはなぜですか? コードをアップロードしたときにサーバー上でコードが機能するようにするための回避策はありますか。

ありがとう。

4

2 に答える 2

1

Server.MapPathサーバー上のイメージのパスを返します。クライアントがたまたまコンピューター上のまったく同じパスにイメージを持っていない限り、これは機能しません。

Url.Content代わりに使用してみてください:

src="@Url.Content(Path.Combine("~/App_Data/", photo.ClientId.ToString(), photo.PhotoId.ToString()) + photo.FileExt.ToString())"
于 2013-06-11T19:30:35.910 に答える