0

我正在探索ytdl-core库来下载 youtube 视频,并且对我来说效果很好。问题是当我尝试下载标题中包含单引号的视频时,我从 fs 库中收到以下错误。

{ [Error: ENOENT: no such file or directory, open 'C:\Users\ahmed\Documents\ProjectFolder\downloads\What's The Best Suspension - Soft or Stiff Springs? - video.mp4']
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path:
   'C:\\Users\\ahmed\\Documents\\ProjectFolder\\downloads\\What\'s The Best Suspension - Soft or Stiff Springs? - video.mp4' }

我注意到在单引号之前会自动添加一个反斜杠,所以我认为它正在寻找一个名为“What”的文件夹,但即使在创建了这个文件夹之后,我仍然遇到同样的错误。

这是我的代码:

const yt = ytdl.downloadFromInfo(info, {quality: itag});  //passing info object and options object to choose a format
yt.on('error', console.error);
yt.on('progress', onProgress);  //calling a function to log the progress
let writeStream = fs.createWriteStream(videoTitle); //video title is stored in a variable from a previous fucntion
writeStream.on('error', console.error);
yt.pipe(writeStream);

我希望有人可以帮助我克服这个问题。

4

1 回答 1

0

是“?” 标记在 Windows 中的文件名中是不允许的,这与Ahmed ElMetwally解决的问题相同。所以在删除“?”之后 视频标题中的标记它工作得很好。

于 2020-06-16T10:27:21.943 回答