Baixar arquivo usando webclient resulta em “Acesso ao caminho negado é negado”
-
12-12-2019 - |
Pergunta
tenho um botão, ao clicar no qual desejo baixar o arquivo no pc local, estou usando webclient.downloadfile(), mas estou recebendo o erro abaixo:
Access to the path 'C:\Windows\SysWOW64\inetsrv\ms-banner.gif' is denied.
estou usando o código abaixo para baixar o arquivo:
WebClient client = new WebClient();
client.DownloadFile(new Uri("http://www.contoso.com/library/homepage/images/ms-banner.gif"), "ms-banner.gif");
não entendo por que está buscando o arquivo no servidor local, como já afirmei o uri remoto
Solução
Ele está buscando o arquivo no servidor remoto, mas tentando salvá-lo no diretório atual porque você especificou apenas um nome de arquivo relativo como segundo argumento: "ms-banner.gif"
.E parece que a conta na qual você está executando seu aplicativo não tem permissão para gravar no diretório de trabalho atual, que é C:\Windows\SysWOW64\inetsrv
.
Então você tem basicamente 2 possibilidades:
- Modifique a conta na qual você está executando seu aplicativo e conceda-lhe permissões para gravar neste diretório
- Especifique outro local (como um caminho absoluto) para salvar o arquivo onde a conta sob a qual você está executando seu aplicativo tem permissões de gravação.
Outras dicas
contoso.com redireciona para microsoft.com...o caminho que você tem aí na URL não existe e você não conseguirá baixá-lo.Não sei por que ele está tentando acessar sua máquina local, mas você já tentou alguns outro imagem em algum outro site?Como http://i.cdn.turner.com/cnn/.e/img/3.0/global/header/hdr-main.gif por exemplo?