Asp.net mvc mvc服务文件流的真正方式是什么?
我有一个不正确的方法使asp.net mvc服务于文件流。看起来是这样的:Asp.net mvc mvc服务文件流的真正方式是什么?,asp.net-mvc,filestream,Asp.net Mvc,Filestream,我有一个不正确的方法使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 = n
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);
}
}
这是超级傻瓜的作品。我尝试修改代码,改为使用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方式实现这一点呢?我们已经解决了。我只需要补充:
thumbnail.Save(msOutput, ImageFormat.Png);
msOutput.Seek(0, SeekOrigin.Begin); // <--- this line
return base.File(msOutput, "image/png");
thumbnail.Save(msOutput,ImageFormat.Png);
msOutput.Seek(0,SeekOrigin.Begin)//