我已经打了一个多小时了。我读过这个错误通常是因为MemoryStream在位图被释放之前被关闭了,但是在这里我没有处理任何东西。任何帮助都会受到鼓舞。
public Image GetImageFromBytes(byte[] imageBytes)
{
var ms = new MemoryStream(imageBytes);
return Image.FromStream(ms);
}
public void ExportImage(byte[] imageBytes, String fileName)
{
var image = GetImageFromBytes(imageBytes);
// var resizedImg = GeneralHelper.ResizeImage(image,ImageWidth, ImageHeight) ;
// OverlayContactDetails(resizedImg);
var path = Path.GetDirectoryName(fileName);
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
image.Save(fileName, ImageFormat.Jpeg);
}
在.Save()时抛出异常(如标题所示)。下面是堆栈跟踪
at System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
at System.Drawing.Image.Save(String filename, ImageFormat format)
at AdCreator.ImageExport.ExportImage(Byte[] imageBytes, String fileName) in c:\Users\Paavum Ex Machina\Documents\Visual Studio 2012\Projects\AdCreator\AdCreator\ImageExport.cs:line 70
at AdCreator.ExportController.ExportImage(Byte[] image, String filePath, String agentText) in c:\Users\Paavum Ex Machina\Documents\Visual Studio 2012\Projects\AdCreator\AdCreator\ExportController.cs:line 69
at AdCreator.ExportController.Export(String outputFilename) in c:\Users\Paavum Ex Machina\Documents\Visual Studio 2012\Projects\AdCreator\AdCreator\ExportController.cs:line 44
at AdCreator.Controller.ExportAds(Ad[] ads, String[] templates, String outputFileName) in c:\Users\Paavum Ex Machina\Documents\Visual Studio 2012\Projects\AdCreator\AdCreator\Controller.cs:line 104
at AdCreator.Create.<>c__DisplayClass3.<button2_Click>b__1() in c:\Users\Paavum Ex Machina\Documents\Visual Studio 2012\Projects\AdCreator\AdCreator\Create.cs:line 173
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()