Запретить запись файла в nodejs - PullRequest
0 голосов
/ 22 апреля 2019

Я хочу скачать файл с nodejs и записать его.В настоящее время я использую axios и createWriteStream.Пишет нормально.Но я хочу обрабатывать запись, когда файл большой.Когда файл больше, чем 5 МБ, я хочу, чтобы он возвращал сообщение «файл большой» и предотвращал запись файла.

Как мне обработать большой файл в createWriteStream?спасибо.

вот мой код:

async function downloadImage () {  
  const url = 'https://example.com/file.zip'
  const path = Path.resolve(__dirname, 'files', 'file.zip')
  const writer = Fs.createWriteStream(path)

  const response = await Axios({
    url,
    method: 'GET',
    responseType: 'stream'
  })

  response.data.pipe(writer)

  return new Promise((resolve, reject) => {
    writer.on('finish', () => {
      resolve({ path })
    })
    writer.on('error', () => {
      fs.unlink(path)
      reject(new Error('Cant download!'))
    })
  })
}
...