我真的很难调整(使用imeageresizer)从上传到MVC操作的图像创建的流。一些观察结果:
inStream最初是正确定义的,包含带内容的图像流(长度> 0)
outStream length = 0,position = 0,即它是空的。
下面的代码在我的dest输出是我的本地硬盘驱动器的路径时起作用,但如果dest是一个流则不起作用(即如果我用本地路径替换outStream以保存文件)。
我也试过使用MemoryStream而不是流,但没有去。
有人解决了这个吗?
这是我的代码。任何帮助都非常感谢... thx
public ActionResult Save(IEnumerable<HttpPostedFileBase> files)
{
if (files != null)
{
foreach (var file in files)
{
Stream inStream = file.InputStream;
Stream outStream = file.InputStream;
var mySettings = new ResizeSettings
{
MaxWidth = 100,
MaxHeight = 100,
Format = "JPG"
};
ImageResizer.ImageBuilder.Current.Build(inStream, outStream, mySettings);
//upload outStream to CDN........
}
}
// Return an empty string to signify success
return Content("");
}
答案 0 :(得分:0)
输入(只读)流不能是输出(写入)流。您也无法写入您读取的同一个流。
这不可行:
Stream inStream = file.InputStream;
Stream outStream = file.InputStream;
MSDN documentation is a good place to start learning about I/O streams。