我想从文件夹中删除图像。但是它抛出“正在被另一个进程使用”。
这是我的代码:
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
block中,例如:
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);
之所以有帮助,是因为
using
确保orgImage
正确地是disposed,从而在调用File.Delete()
函数之前释放内存并释放文件句柄。