NodeJS streamovat vzdálený soubor a zip to a uložte jej místně

hlasů
0

Snažím se stáhnout vzdáleného souboru, a zip a uložit jej do lokálně v uzlu serveru. Jsem pomocí uzlu 8.11.4

Tento kód spustit správně, pokud jsem to na zip, ale když jsem ji zip, to přestane fungovat

Takže následující kód funguje

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')
   })
})

Výše uvedený kód uloží správně souboru PDF.

Ale když se snažím, aby to zip na potoku, takhle

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')
   })
})

To vytváří soubor ZIP, ale když otevřu ji, to mi říká, že se nejedná o platný soubor ZIP. I když, pokud bych zip soubor pomocí zlib lokálně, to je v pořádku

Je tam něco, co musím udělat na trubku?

Položena 27/11/2018 v 17:55
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Je to trochu těžké pochopit, co nefunguje pro vás. Váš kód má několik překlepy, takže by neměl běžet na prvním místě, ale pokud si opravit tyto překlepy to funguje v pohodě pro mě.

Který program používáte snaží otevřít .zip?

(Mimochodem: možná uvažovat o podání souboru končí .gz, protože to je správná koncovka souboru pro gzip komprimovaný dat)

Odpovězeno 27/11/2018 v 23:12
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more