我想从文件夹中删除图像。但是它抛出“正在被另一个进程使用”。

这是我的代码:

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()函数之前释放内存并释放文件句柄。

09-26 03:14