2016-03-15 80 views
0

我正在製作視頻下載器,其中一些標題中有非法字符。我已經嘗試用非非法字符替換非法字符,但它不起作用。無論我做什麼,我都會收到此錯誤:「給定路徑的格式不受支持。」用有效字符替換非法文件名字符

這裏是我當前的代碼:

var videoDownloader = new VideoDownloader(video, Path.Combine(path, filename + video.VideoExtension)); 
      string invalid = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars()); 
      videoDownloader.DownloadProgressChanged += (sender, args) => Console.WriteLine("Video " + args.ProgressPercentage + "% downloaded..."); 
      string invalidChars = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars()); 
     foreach (char c in invalidChars) 
     { 
      filename = filename.Replace(c.ToString(), "."); // or with "." 
     } 

     videoDownloader.Execute(); // where the error occurs. 

     foreach (char c in invalidChars) 
     { 
      filename = filename.Replace(c.ToString(), "."); // or with "." 
     } 

我可以很容易地通過添加自定義文件名解決這個問題,但我寧願從影片中使用原來的文件名。

另外要注意,我用的這個庫:https://www.nuget.org/packages/YoutubeExtractor

+0

視頻的原始名稱是怎樣的?給你錯誤的那個。 – Ian

回答

1

你遞過VideoDownloader老不固定的文件名。在使用字符串之前,您需要替換錯誤的字符,而不是之後。

+0

謝謝,這工作。 – Zezima