我正在使用WebImageMVC3来调整图像大小.基本上,这样做的目的是创建上载文件的缩略图.我无法控制文件的大小,因此我需要创建文件的缩略图以加快"预览"网站的速度.
我有一些文件需要上传和大小,它大约4Mb,这在上传时不是问题.我遇到的问题是创建缩略图.我首先上传文件,然后保存在服务器上,然后我WebImage为缩略图创建一个新对象.
// Save a thumbnail of the file
WebImage image = new WebImage(savedFileName);
// Resize the image
image.Resize(135, 150, true);
// Save the thumbnail
image.Save(FileName); // <<--- Out of memory exception here
// Dispose of the image
image = null;
Run Code Online (Sandbox Code Playgroud)
当我尝试保存文件时,我得到一个内存不足的异常.关于如何解决这个问题的任何想法?
由于存在错误WebImage,我不得不求助于以下代码:
// Save a thumbnail of the file
byte[] fileBytes = System.IO.File.ReadAllBytes(savedFileName);
System.Drawing.Image i;
using (MemoryStream ms = new MemoryStream())
{
ms.Write(fileBytes, 0, fileBytes.Length);
i = System.Drawing.Image.FromStream(ms);
}
// Create the thumbnail
System.Drawing.Image thumbnail = i.GetThumbnailImage(135, 150, () => false, IntPtr.Zero);
Run Code Online (Sandbox Code Playgroud)