另一个进程正在使用映像文件

cag*_*gin 4 asp.net file-io file c#-4.0

我想从文件夹中删除我的图像.但它抛出" 它被另一个进程使用."

这是我的代码:

fuProductImage.SaveAs(fileFolderPathTemp + fuProductImage.FileName);

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

 File.Delete(fileFolderPathTemp + fuProductImage.FileName);
Run Code Online (Sandbox Code Playgroud)

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

Uwe*_*eim 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);
Run Code Online (Sandbox Code Playgroud)

这应该有帮助的原因是using确保orgImage正确处理,从而在调用File.Delete()函数之前释放内存并释放文件句柄.