我正在使用Image Resizer imageresizing.net。但是,当我尝试上传图像或调整图像大小时,会发生错误:
源流在末尾(您已经阅读过吗?)。您必须调用stream.Seek(0,SeekOrigin.Begin);在重新使用流之前,或者在第一次读取流时将ImageJob与ResetSourceStream = true一起使用。
using (Stream newFile = System.IO.File.Create(Path.Combine(_pathResolver.ResolvePath(_appSettings.CompanyLogosDirectory), newFileName)) )
{
//newFile.Seek(0, SeekOrigin.Begin);
ImageResizer.ImageJob i = new ImageJob();
//i.ResetSourceStream = true;
i = new ImageResizer.ImageJob(logo.InputStream, newFile, new ImageResizer.ResizeSettings("width=120;height=45;format=jpg;mode=max"));
i.CreateParentDirectory = false; //Auto-create the uploads directory.
i.Build();
}
最佳答案
您在提供代码之前使用了logo.InputStream
(可能用于其他作业)。您可以再次读取图像,也可以在using
语句之前的以下代码中添加例外建议:
logo.InputStream.Seek(0, SeekOrigin.Begin);