C # WebClient.DownloadFile проблема с UrlEncoding - PullRequest
0 голосов
/ 11 октября 2018

У меня есть такой URL-адрес https://example.com/4654ds-dsds5-982/file%20%281%29.pdf?token=xxxxxxxx

Я использую WebClient.DownloadFile для загрузки этого файла, но URL-адрес изменился на https://example.com/4654ds-dsds5-982/file%20(1).pdf?token=xxxxxxxx при преобразовании строки в Uri

using (WebClient wc = new WebClient()) {
    wc.DownloadFile(new Uri(myURL), myPATH);
}

Моя проблема в том, что токен для загрузки файла синхронизируется с именем файла, заданным API, который мы используем, поэтому URL-адрес должен быть точно таким же (с одинаковыми кодированными символами)

Любое предложение загрузить файлс URL без моего входного URL изменилось?

1 Ответ

0 голосов
/ 11 октября 2018

Вы можете попробовать использовать старый класс HttpWebRequest

var url = " https://example.com/4654ds-dsds5-982/file%20%281%29.pdf?token=xxxxxxxx";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
    var destination = "<some local folder>";
    var responseStream = response.GetResponseStream();
    using (var fileStream = File.Create(destination))
    {
        responseStream.CopyTo(fileStream);
    }
}
...