Загрузка файла с использованием WebClient приводит к «Доступ к пути отказано»
-
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 Например?