该进程无法访问文件'E:\ NewFolder \ img.jpg',因为它正由另一个进程使用

时间:2015-11-06 11:10:41

标签: c#-4.0

有人请帮我解决这个错误。该进程无法访问文件'E:\NewFolder\img.jpg',因为它正由另一个进程使用。

           if (btn_Submit.Text == "Submit")
                 request.requestDetail.IMAGEPATH=Chosen_File==string.Empty ? Filepath +"NoImage.png" + ext : Filepath + txt_val.Text.ToUpper().Trim() + ext;        
            else
                 request.requestDetail.IMAGEPATH = Chosen_File == Filepath + "NoImage.png" ? (Filepath + "NoImage.png") : (Filepath + txt_val.Text.ToUpper().Trim() + ext);   

            ResponseDetail response = new ResponseDetail();
            ABC_BL bl = new ABC_BL();
            response = bl.InsertDetailBC(request); 

if (response.result)
{
    if (IsImageChanged)
    {
        if(!Directory.Exists(Filepath))
            Directory.CreateDirectory(Filepath);

        if(System.IO.File.Exists(Filepath+txt_val.Text.ToUpper().Trim() + ext))
            System.IO.File.Delete(Filepath + txt_val.Text.ToUpper().Trim() + ext);

    }

     pb_Image.Image.Save(Filepath + txt_val.Text.ToUpper().Trim() + ext);
}

System.IO.File.Delete();执行此操作时收到错误 该进程无法访问文件'E:\NewFolder\img.jpg',因为它正由另一个进程使用。

1 个答案:

答案 0 :(得分:0)

其他流程需要停止使用该流程。像Handles.exe和Process Explorer(都来自SysInternals)这样的工具可以识别哪些进程打开了文件。

如果您希望两个进程不使用文件相互阻塞,那么进程需要协同工作(即,您不能强制共享:除非另一个进程知道存在共享,否则可能会导致数据损坏和崩溃)。