我有一种不正确的方法让asp.net mvc服务于文件流。它看起来像这样:
public void SlideThumbnail(Guid id, int? width, int? height)
{
/*make the thumbnail code here*/
using (Bitmap thumbnail = imageThumb.Generate(path))
{
var msOutput = new MemoryStream();
thumbnail.Save(msOutput, ImageFormat.Png);
Response.ContentType = "image/png";
msOutput.WriteTo(Response.OutputStream);
}
}
这是超级duper。我尝试修改代码以使用base.File()
代替。像这样:
public ActionResult SlideThumbnail(Guid id, int? width, int? height)
{
/*make the thumbnail code here*/
using (Bitmap thumbnail = imageThumb.Generate(path))
{
var msOutput = new MemoryStream();
thumbnail.Save(msOutput, ImageFormat.Png);
return base.File(msOutput, "image/png");
}
}
但这一切似乎都没有做任何事情。我没有得到任何错误,但我也没有得到任何图像: - (
那么我如何以MVC的方式实现这一目标呢?
答案 0 :(得分:0)
我们想通了。我只需要添加:
thumbnail.Save(msOutput, ImageFormat.Png);
msOutput.Seek(0, SeekOrigin.Begin); // <--- this line
return base.File(msOutput, "image/png");
我们都很好。