有人请帮我解决这个错误。该进程无法访问文件'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'
,因为它正由另一个进程使用。
答案 0 :(得分:0)
其他流程需要停止使用该流程。像Handles.exe
和Process Explorer(都来自SysInternals)这样的工具可以识别哪些进程打开了文件。
如果您希望两个进程不使用文件相互阻塞,那么进程需要协同工作(即,您不能强制共享:除非另一个进程知道存在共享,否则可能会导致数据损坏和崩溃)。