' 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。

有人知道为什么会这样吗?

谢谢你给我的帮助,你不知道你帮了我多大的忙,再次感谢你!

' WebClient请求过程中出现异常"而使用c# ASP.NET

如果我指定文件夹名称而不是文件名称作为目的地,则可以复制此操作,因为似乎是您的示例中的情况。请提供文件名称。

作为题外话;如果我查看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

我建议你采取以下策略:

  1. 下载文件到一个唯一的文件名.tmp (.txt)扩展名Windows临时文件夹,以避免写权限和其他权限问题
  2. 移动临时文件到目标文件夹
  3. 将临时文件重命名为目标文件名

希望有帮助:-)

如果Directory不存在,则此错误消息显示为"在WebClient请求过程中出现异常"因为Web客户端找不到存放下载文件的文件夹

希望能有所帮助-:)