' WebClient请求过程中出现异常"而使用c# ASP.NET
本文关键字:NET ASP quot WebClient 请求 过程中 异常 | 更新日期: 2023-09-27 18:13:37
所以,我已经为我的程序建立了一个自动更新程序。
这里运行的代码是:
new WebClient().DownloadFile("XXXX", checkingfolder.SelectedPath);
XXX是我的web服务器,在verio中作为VPS服务器运行,具有最新的IIS和所有东西。
当用户点击下载按钮时,它说:
'An exception occurred during a WebClient request.
问题是,我甚至不知道为什么——我只是在做try catch。有人知道为什么会这样吗?
谢谢你给我的帮助,你不知道你帮了我多大的忙,再次感谢你!
如果我指定文件夹名称而不是文件名称作为目的地,则可以复制此操作,因为似乎是您的示例中的情况。请提供文件名称。
作为题外话;如果我查看InnerException
,它告诉我问题与文件路径有关:
using(var client = new WebClient())
{
try
{
client.DownloadFile(
"http://stackoverflow.com/questions/8033619/an-exception-occurred-durning-a-webclient-request-c-sharp-asp-net/8033687#8033687",
@"j:'MyPath");
}
catch (Exception ex)
{
while (ex != null)
{
Console.WriteLine(ex.Message);
ex = ex.InnerException;
}
}
}
给了:
An exception occurred during a WebClient request.
Access to the path 'j:'MyPath' is denied.
如果我将其更改为文件,它可以正常工作:
client.DownloadFile(
"http://stackoverflow.com/questions/8033619/an-exception-occurred-durning-a-webclient-request-c-sharp-asp-net/8033687#8033687",
@"j:'MyPath'a.html");
有时,当另一个类或进程正在访问您刚刚下载的文件时,可能会出现此错误
如果directory to path不存在,则给出异常。
例如路径为@"j:'Folder'SubFolder'123.pdf如果子文件夹不存在,则抛出异常。
当我试图下载一个文件时,我遇到了这个错误,其中得到的下载文件路径将比某些任意限制长
将下载文件的路径名改为250个字符后,问题就解决了
除了其他答案之外,注意如果客户端进程没有创建输出文件所需的权限,也可能发生相同的 webexcexception 。
我建议你采取以下策略:
- 下载文件到一个唯一的文件名.tmp (.txt)扩展名Windows临时文件夹,以避免写权限和其他权限问题
- 移动临时文件到目标文件夹
- 将临时文件重命名为目标文件名
希望有帮助:-)
如果Directory不存在,则此错误消息显示为"在WebClient请求过程中出现异常"因为Web客户端找不到存放下载文件的文件夹
希望能有所帮助-:)