Загрузка файла с использованием веб-клиента приводит к «Отказано в доступе к пути» - PullRequest
1 голос
/ 13 марта 2012

У меня есть кнопка, при нажатии которой я хочу загрузить файл на локальный компьютер, я использую 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

Ответы [ 2 ]

3 голосов
/ 13 марта 2012

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...