Я пытаюсь загрузить удаленный файл, сжать его и сохранить локально на сервере узла.Я использую узел 8.11.4
Код выполняется правильно, если я его не заархивировал, но когда я заархивировал его, он перестает работать
Итак, следующий код работает
const fs = require('fs')
const https = require('https')
const url = remoteurl // a url that is pointing to a pdf file
https.get(url, (res) => {
res.pipe(fs.createWriteStream("./local-pdf.pdf"))
.on('finish', () => {
console.log('you finished')
})
})
Приведенный выше код будет правильно сохранять файл PDF.
Но когда я пытаюсь заархивировать его в потоке, например,
const fs = require('fs')
const zlib = require('zlib')
const https = require('https')
const url = remoteurl
https.get(url, (res) => {
res.
pipe(zlib.createGzip())
pipe(fs.createWriteStream("./local-zip.zip"))
.on('finish', () => {
console.log('you finished')
})
})
Он генерирует файл ZIP,но когда я открываю его, он говорит, что это недопустимый zip-файл.Хотя, если я заархивирую файл с помощью zlib локально, он будет работать нормально
Есть ли что-то, что я должен сделать на конвейере?