C# 从http站点下载文件失败,错误为“0”;System.IO.IOException';
从HTTP站点下载文件失败,出现错误 “System.IO.IOException:进程无法访问文件'c:\temp\python-3.8.0-amd64.exe',因为另一个进程正在使用该文件。”C# 从http站点下载文件失败,错误为“0”;System.IO.IOException';,c#,asp.net,.net,C#,Asp.net,.net,从HTTP站点下载文件失败,出现错误 “System.IO.IOException:进程无法访问文件'c:\temp\python-3.8.0-amd64.exe',因为另一个进程正在使用该文件。” 检查该位置上的文件是否可用 检查IIS中的MIME配置 同时检查对目标的访问权限 client.DownloadFileCompleted+=WcOnDownloadFileCompleted; 私有静态void WcOnDownloadFileCompleted(对象发送方,AsyncComple
client.DownloadFileCompleted+=WcOnDownloadFileCompleted;
私有静态void WcOnDownloadFileCompleted(对象发送方,AsyncCompletedEventArgs e)
{
如果(!e.Cancelled&&e.Error==null)
{
//异步下载已成功完成
}
handle.Set();//在这两种情况下,让void main()知道异步事件已完成,以便我可以退出
}
我猜它是“因为它正被另一个进程使用”,你觉得呢?我第一次运行它,在下载之前不确定使用的是哪个文件。可能是任何其他方法或您的防病毒软件。可能是病毒扫描程序,请尝试重新启动电脑。此外,您可以使用SysInternals、ProcessMon或FileMon或其他工具查看它对哪个程序没有帮助。是的,它可用。我可以使用PowerShell下载该文件尝试为WebClient实现DownloadFileCompleted
url = "http://ip:43/installer/python-3.8.0-amd64.exe"
Uri uri = new Uri(url);
filename = uri.Segments[uri.Segments.Length - 1];
installer_path = $@"c:\Temp\{filename}";
using (var client = new WebClient())
{
client.DownloadFile(url, installer_path);
client.Dispose();
}