Asp.net 另一个进程正在使用图像文件
我想从文件夹中删除我的图像。但它抛出“它正被另一个进程使用” 这是我的密码:Asp.net 另一个进程正在使用图像文件,asp.net,file,c#-4.0,file-io,Asp.net,File,C# 4.0,File Io,我想从文件夹中删除我的图像。但它抛出“它正被另一个进程使用” 这是我的密码: fuProductImage.SaveAs(fileFolderPathTemp + fuProductImage.FileName); Bitmap orgImage = new Bitmap(fileFolderPathTemp + fuProductImage.FileName); ResizeAndSaveImages(orgImage, fileFolderPathLarge, fuProductIma
fuProductImage.SaveAs(fileFolderPathTemp + fuProductImage.FileName);
Bitmap orgImage = new Bitmap(fileFolderPathTemp + fuProductImage.FileName);
ResizeAndSaveImages(orgImage, fileFolderPathLarge, fuProductImage.FileName, 66, 66);
File.Delete(fileFolderPathTemp + fuProductImage.FileName);
我应该怎么做才能删除这个文件?根据请求,我的建议是将第二行和第三行放入一个类似的文件中:
这应该有帮助的原因是
using
确保了orgImage
正确运行,从而在调用file.Delete()
函数之前释放内存并释放文件句柄。将一些using
放在第二行:using(Bitmap orgImage=new Bitmap)附近(fileFolderPathTemp+fuProductImage.FileName)){/*此处仅限第3行。*/}
@UweKeim谢谢。效果非常好。您能再次写一次作为答案吗?因为很多人不检查未回答的问题。再次非常感谢。
fuProductImage.SaveAs(fileFolderPathTemp + fuProductImage.FileName);
using ( Bitmap orgImage =
new Bitmap(fileFolderPathTemp + fuProductImage.FileName) )
{
ResizeAndSaveImages(
orgImage,
fileFolderPathLarge,
fuProductImage.FileName,
66,
66);
}
File.Delete(fileFolderPathTemp + fuProductImage.FileName);