2017-02-04 12 views
1

Привет, я пытаюсь загрузить файл png и поместить его в пользовательское местоположение, и я попытался добавить его в строку, но wc.DownloadFile не разрешает 3 аргумента. есть ли у кого-нибудь предложение? (Новобранец программист)C# WebClient.DownloadFile для определенного пути

если я изменить wc.DownloadFile к wc.DownloadFileAsync это дает мне ошибку на у [2]

   string lookat = args[0]; 
       string[] exploded = lookat.Split('/'); 
       WebClient wc = new WebClient(); 
       wc.Proxy = new WebProxy(); 
       string content = wc.DownloadString(args[0]); 
       Regex rx = new Regex("data-id=\"(.*)\">"); 
       MatchCollection matches = rx.Matches(content); 
       string uri = "http://" + exploded[2] + "/v2/photo/="; 

       string id = matches[0].ToString().Replace("\"", "").Replace(">", "").Replace("data-id=", ""); 
       content = wc.DownloadString(uri + id); 
       string[] res = content.Split(new string[] { "filetobedownloaded_" }, StringSplitOptions.None); 
       foreach (string s in res) 
       { 
        if (s.Contains(".png")) 
        { 
         string[] y = s.Replace("\\", "").Split('"'); 
         wc.DownloadFile(y[2], "filetobedownloaded_" + y[0].Replace("_png", ".jpg")); 
        } 
       } 

ответ

1

DownloadFileAsync принимает Uri и не string, так что вы должны преобразовать ссылку для загрузки в Uri вот так:

wc.DownloadFileAsync(new Uri(y[2]), "C:\\" + "filetobedownloaded_" + y[0].Replace("_png", ".jpg")); 
+0

0 Я только что добавил код, а не только код загрузки. –

+0

не решила ваша проблема? какова ошибка, которую вы сейчас получаете? –

+0

no unfortunatly not .. y [2] = "невозможно преобразовать из строки в System.Uri", и если я сделаю - wc.DownloadFileAsync (новый Uri (y [2]), "filetobedownloaded_" + y [0] .Replace ("_png", ".jpg"), @ "C: \ OUTPUTFOLDER \")); он говорит: «Невозможно преобразовать из строки в bool» –