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();
}
顺便说一句,即使对于未使用代码创建的文件,它也会产生相同的错误。
提供与下载源路径不同的下载文件保存路径的不同路径。如果要替换文件,请在使用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);