gpt4 book ai didi

c# - 为什么 GDI 不允许我删除大图像?

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:04 24 4
gpt4 key购买 nike

我的 ASP.NET 应用程序具有图像裁剪和调整大小功能。这需要删除上传的临时图像。一切正常,但是当我尝试删除大于 80px x 80px 的图像时,我收到“文件被另一个进程锁定...”错误,即使我已经释放了所有资源。

这是一个片段:

System.Drawing.Image tempimg = System.Drawing.Image.FromFile(temppath);
System.Drawing.Image img = (System.Drawing.Image) tempimg.Clone(); //advice from another forum
tempimg.Dispose();

img = resizeImage(img, 200, 200); //delete only works if it's 80, 80
img.Save(newpath);
img.Dispose();

File.Delete(temppath);

最佳答案

我认为您没有处理分配给 img 变量的第一个 Image 实例。

考虑一下:

System.Drawing.Image tempimg = System.Drawing.Image.FromFile(temppath);
System.Drawing.Image img = (System.Drawing.Image) tempimg.Clone();
tempimg.Dispose();

System.Drawing.Image img2 = resizeImage(img, 200, 200);
img2.Save(newpath);
img2.Dispose();
img.Dispose();

File.Delete(temppath);

关于c# - 为什么 GDI 不允许我删除大图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1549154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com