我正在制作一个视频下载程序,其中一些标题中包含非法字符。我已经尝试用非违法字符替换非法字符,但它没有用。无论我做什么,我都会收到这个错误:“不支持给定路径的格式。”
这是我目前的代码:
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 :(得分:1)
您正在处理VideoDownloader
旧的不固定文件名。您需要在使用字符串之前替换不良字符,而不是在之后。