【发布时间】:2020-10-05 20:03:50
【问题描述】:
我正在探索 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);
我希望有人可以帮助我解决这个问题。
【问题讨论】:
-
@AhmedElMetwally 感谢您的及时回复。您提供的问题中的问题是在文件名中使用冒号,这不是我的问题。我的问题是 fs 库会在我不希望它这样做的单引号之前自动添加 \。
-
为什么不删除所有单引号?
videoTitle.split('"').join("")