pup*_*eno 26 asp.net-mvc stream filestreamresult
我有以下代码,我从任何非必要的行中删除了离开minimun可再现的情况.我期望它能够返回图像,但事实并非如此.据我所知,它返回一个空文件:
public ActionResult Thumbnail(int id) {
var question = GetQuestion(db, id);
var image = new Bitmap(question.ImageFullPath);
MemoryStream stream = new MemoryStream();
image.Save(stream, ImageFormat.Jpeg);
return new FileStreamResult(stream, "image/jpeg");
}
Run Code Online (Sandbox Code Playgroud)
你能确定这段代码有什么问题吗?在调试器中,我可以看到流的大小增长,所以它似乎获取数据,虽然我无法验证它是正确的数据.我不知道如何调试FileStreamResult本身.
Mar*_*age 67
你需要插入
stream.Seek(0, SeekOrigin.Begin);
Run Code Online (Sandbox Code Playgroud)
打电话给
Image.Save()
Run Code Online (Sandbox Code Playgroud)
这会将流回放到已保存图像的开头.否则,流将位于流的末尾,并且不会向接收器发送任何内容.
tva*_*son 11
尝试倒回MemoryStream."光标"留在文件的末尾,在您将流"回放"到开头之前没有任何内容可读.
image.Save( stream, ImageFormat.Jpeg );
stream.Seek( 0, SeekOrigin.Begin );
return new FileStreamResult( stream, "image/jpeg" );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11098 次 |
| 最近记录: |