Nodejs: Избегайте автоматического добавления backsla sh в функцию fs.createWriteStream. - PullRequest
0 голосов
/ 16 июня 2020

Я изучаю 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' }

Я заметил, что backsla sh автоматически добавляется перед одинарная кавычка, поэтому я подумал, что он ищет папку с названием «Что», но даже после создания этой папки я все еще получаю ту же ошибку.

Вот мой код:

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);

Надеюсь, кто-нибудь поможет мне решить эту проблему.

1 Ответ

0 голосов
/ 16 июня 2020

Это было «?» отметка, которая недопустима в имени файла в Windows, и эту же проблему решал Ahmed ElMetwally . Итак, после удаления символа "?" отметка из названия видео Работало отлично.

...