我有一个图像上传页面,只在上传文件时工作得很好。GDI +上传多个图像时出错,然后创建缩略图
我添加了“创建缩略图”功能。当缩略图进程启动时,它看起来像文件系统对图像有句柄。
只有当图像超过250K时,我才会得到'未指定的GDI +错误'。当文件低于250K时,按预期创建缩略图。
我有什么选择?这里有一个优雅的解决方案吗?我想要的东西不哈克。
此外,我使用HttpFileCollection,所以我们可以一次上传多个图像。我试图使用.Dispose创建缩略图,但在我们到达这一点之前失败。
public void Upload_Click(object Sender, EventArgs e)
{
string directory = Server.MapPath(@"~\images\");
HttpFileCollection hfc = Request.Files;
for (int i = 0; i < hfc.Count; i++)
{
HttpPostedFile hpf = hfc[i];
if (hpf.ContentLength > 0)
{
string fileName = hpf.FileName;
fileName = fileName.Replace(" ", "");
hpf.SaveAs(fileName);
createThumbnail(fileName);
}
}
}
private void createThumbnail(string filename)
{
Image image = Image.FromFile(filename);
Image thumb = image.GetThumbnailImage(100,100,() => false, IntPtr.Zero);
thumb.Save(filename);
image.Dispose();
thumb.Dispose();
}
我们可以看到有问题的代码? – asawyer 2012-03-01 21:43:30
尝试删除image.dispose();和thumb.dispose(); – coder 2012-03-01 22:07:17
没有什么不同。 – JonHiggens 2012-03-01 22:12:11