Загрузка файла с использованием WebClient приводит к «Доступ к пути отказано»

StackOverflow https://stackoverflow.com//questions/9676061

  •  12-12-2019
  •  | 
  •  

Вопрос

У меня есть кнопка, нажав, который я хочу загрузить файл на локальном ПК, я использую webclient.downloadfile (), но я получаю сообщение об ошибке:

Access to the path 'C:\Windows\SysWOW64\inetsrv\ms-banner.gif' is denied.
.

Я использую код ниже, чтобы загрузить файл:

WebClient client = new WebClient();
        client.DownloadFile(new Uri("http://www.contoso.com/library/homepage/images/ms-banner.gif"), "ms-banner.gif");
.

Я не понимаю, почему ее выбирает файл с локального сервера, так как я уже заявил, что удаленное URI

Это было полезно?

Решение

Это выбирает файл с удаленного сервера, но пытается сохранить его в текущем каталоге, поскольку вы указали только относительное имя файла в качестве второго аргумента: "ms-banner.gif".И кажется, что учетная запись, в которой вы выполняете приложение, не имеет разрешения на запись в текущий рабочий каталог, который происходит для C:\Windows\SysWOW64\inetsrv.

Так что у вас есть в основном 2 возможности:

    .
  • Изменить учетную запись, в которой вы запускаете свое приложение, и предоставите его разрешения, чтобы написать в этот каталог
  • Укажите другое место (как абсолютный путь), чтобы сохранить файл туда, где учетная запись, в которой вы запускаете приложение, имеет разрешения на запись.

Другие советы

contoso.com перенаправляет на Microsoft.com ... путь, который у вас там в URL, не существует, и вы не сможете его загрузить.Я не уверен, почему он пытается пойти на вашу местную машину, но попробовал некоторые другие изображение на другом сайте?Как и http://i.cdn.turner.com / cnn / .e / img / 3.0 / global / header / hdr main.gif Например?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top