画像をレンダリングするMVC3アプリケーションにかなり単純なアクションがあります...
public FileStreamResult Photo(int id)
{
//get the raw bytes for the photo
var qry = from p in db.Photos
where p.PhotoID == id
select p.PhotoData;
var data = qry.FirstOrDefault();
var mem = new MemoryStream(data);
var fs = new FileStreamResult(mem, "image/jpeg");
return fs;
}
これを実行すると、Chromeで空白のドキュメントが表示され、Firefoxは実際のドキュメント領域にURLを表示し、IEは生のバイトをレンダリングします。
Chromeからメッセージが表示されます:リソースはドキュメントとして解釈されますが、MIMEタイプimage/jpegで転送されます
これは、ストリームデータがブラウザに送信されておらず、実際には空のドキュメントを受信していることを示唆していますが、IEはその逆を示唆しています。
誰かが以前にこれに遭遇したか、それを回避する方法を知っていますか?