ローカル ディスク C: に保存されている画像を表示する必要がある ASP ページがあり、場合によってはネットワーク ドライブからのパスの例:--C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg I C#コードビハインドで次のコードを実行しました
Image image = new Image();
image.Height = 150;
image.Width = 150;
string path = @"C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg";//this path will come from database dynamically this is for test only
image.ImageUrl = path;
this.Controls.Add(image);
しかし、画像が表示されないので、このSOの質問 に出くわし、以下のようにコードを更新しました
画像を表示しているページの
Image image = new Image();
image.Height = 150;
image.Width = 150;
string path = @"C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg";
image.ImageUrl = "ImageWriter.aspx?path=" + path;
this.Controls.Add(image);
およびプロキシページ用
Response.ContentType = "image/jpeg"; // for JPEG file
string physicalFileName = Request.QueryString["path"];
Response.WriteFile(physicalFileName);
これは正常に機能していますが、2つの質問があります
1) Why the file is accessible from the physical path while proxy from page but other page cannot able to access it ?
2) And is there any other way to do it ?
どんな助けでも大歓迎です。