YouTubeビデオをダウンロードするためにytdl-coreライブラリを調べていますが、問題なく動作します。問題は、タイトルに一重引用符が含まれるビデオをダウンロードしようとすると、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);
誰かがこの問題を克服するのを手伝ってくれることを願っています。