He estado construyendo un servidor que dará un archivo zip para descargar. No se descarga la primera vez. Pero la segunda vez se descarga. Uso jimp para editar imágenes y enviar esos archivos a un directorio específico.
app.use( '/api/edit', upload.single('image-file'), async (req, _res, next) => { const filePath = path.resolve(process.cwd(), 'user-data', req.file.filename); // resize every images await resizeAll(filePath); // continue request next(); } ); app.post('/api/allResize', upload.single('image-file'), (_req, res) => { // use res.setHeader to set the application file type to zip setHeaderAsZip(res); const zip = archiver('zip'); zip.pipe(res); zip.directory('./user-data/icon-set-imagable', 'icon-set-imagable').finalize(); res.on('close', () => { cleanUpIconData(); }); }); La primera vez que genera la salida resizeAll , envía un archivo zip vacío, pero la segunda vez envía el archivo pero realiza cleanUpIconData , que borra todos los datos generados en el servidor.