I'm want to let the client download gzip compressed file on specific url. I got it almost working - downloading {fileName}.gz works, but when it is decompressed it contains plain file name, without any extension. My files are images, so I want .png or .jpg for example. How should I do that? So far I got this:
File is stored on the server, with unique name, generated by shortid. On GET to the specific url I find my product in the database, get the name and set it as filename like so:
res.setHeader("Content-Disposition", "attachment; filename=test.gz");
res.writeHead(200, {"Content-Type": `image/png`});
then the compression:
let gzip = zlib.createGzip();
fs.createReadStream(filePath)
.pipe(gzip)
.pipe(res);
My problem is that setHeader only sets the name of the original file, which is the compressed .gz file. How can I set the name of the file to be decompressed to "my-image.png`?
via Alex
No comments:
Post a Comment