4

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

这是我的代码:

fuProductImage.SaveAs(fileFolderPathTemp + fuProductImage.FileName);

 Bitmap orgImage = new Bitmap(fileFolderPathTemp + fuProductImage.FileName);
 ResizeAndSaveImages(orgImage, fileFolderPathLarge, fuProductImage.FileName, 66, 66);

 File.Delete(fileFolderPathTemp + fuProductImage.FileName);

我应该怎么做才能删除这个文件?

4

1 回答 1

6

根据要求,我的建议是将第二行和第三行放入一个using中,例如:

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正确处理,从而在调用函数之前释放内存并释放文件句柄File.Delete()

于 2013-01-21T15:04:31.000 回答