WebClient.FileDownlOad GIVIn 错误,表明文件 a 被另一个进程访问

本文关键字:另一个 进程 访问 文件 明文 GIVIn FileDownlOad 错误 WebClient | 更新日期: 2023-09-27 18:32:01

我正在尝试使用网络客户端方法下载文件 DownloadFile 但它给了我错误

 The process cannot access the file '...'d915877c-cb7c-4eeb-97d8-41d49b75aa27.docx' because it is being used by another process.

但是当我通过单击它打开文件时,它会打开。

有相同的问题要求相同的信息,但没有一个是可接受的答案。

任何帮助将不胜感激

可能是 oS 不放文件。不管是什么,但搜索了很多之后,我找不到解决方案

这是创建文件的代码

  Document d = new Document();
  d.Save(HttpContext.Current.Server.MapPath(@"Invoice'" + iname + ".docx"));

我正在使用aspose单词dll

并按照我访问它的方式

 using (var client = new System.Net.WebClient())
        {
            client.UseDefaultCredentials = true;
            client.DownloadFile(Server.MapPath("invoice/" + Request.QueryString["id"].ToString() + ".docx"),Server.MapPath("invoice/" +Request.QueryString["id"].ToString() + ".docx"));
            client.Dispose();
        }

顺便说一句,即使对于未使用代码创建的文件,它也会产生相同的错误。

WebClient.FileDownlOad GIVIn 错误,表明文件 a 被另一个进程访问

提供与下载源路径不同的下载文件保存路径的不同路径。如果要替换文件,请在使用File.replace()方法释放Web客户端后执行此操作。

string downloadPath = "Your download path";      
string destinationPath = "the path where the file should be saved";`//this should be different from "download path"                   
 File.Download(downloadPath,destinationPath);