2016-08-04 2 views
1

Я работаю на загрузчик Youtube, я использую Path.combine, но когда я запускаю свою программу и поместить URL в поле я получил эту ошибку:Youtube Downloader: недопустимые символы в пути

illegal characters in path

progressBar.Minimum = 0; 
     progressBar.Maximum = 100; 
     if (!(txturl.Text == string.Empty)) 
     { 
      try 
      { 
       IEnumerable<VideoInfo> videos = DownloadUrlResolver.GetDownloadUrls(txturl.Text); 
       VideoInfo video = videos.First(p => p.VideoType == VideoType.Mp4 && p.Resolution == Convert.ToInt32(cmbResolution.Text)); 
       if (video.RequiresDecryption) 
        DownloadUrlResolver.DecryptDownloadUrl(video); 
       VideoDownloader downloader = new VideoDownloader(video, Path.Combine(Application.StartupPath, video.Title + video.VideoExtension)); 
       downloader.DownloadProgressChanged += downloader_DownloadProgressChanged; 
       Thread thread = new Thread(() => { downloader.Execute(); }) { IsBackground = true }; 
       thread.Start(); 
      } 
      catch (Exception yt) { MessageBox.Show(yt.Message); } 
     } 
     else { MessageBox.Show("Input field cannot be empty."); } 

ответ

0

You не нужно добавлять "\\", так как Path.Combine() помещает их в вас.

EDIT:

Пример: Path.Combine(Application.StartupPath, "hello"); возвращает что-то вроде C:\path\to\exe\hello\

+0

Спасибо, но до сих пор отказываются работать. Пожалуйста, не могу я использовать что-то вроде «Directory GetCurrentDirectory», пожалуйста, не возражайте против моей ошибки. –

+0

Попробуйте следующее: 'Path.Combine (Application.StartupPath, string.Format (" {0}. {1} ", video.Title, video.VideoExtension));' –

+0

Я скопировал здесь весь код, пожалуйста, помогите я просматриваю и отлаживаю его. Спасибо sir –

Смежные вопросы