如何使用 NodeJS 发送带有文件名和文件扩展名的文件流

M.K*_*lik 2 javascript stream node.js express

我正在使用nodejs发送文件流来表达响应

var fileReadStream = fs.createReadStream(filePath);
fileReadStream.pipe(res);
Run Code Online (Sandbox Code Playgroud)

问题是,在前端,文件只能通过“下载”来下载,并且没有扩展名。这使得该文件无法使用(因为没有扩展名)。

小智 8

请在发送响应之前添加此标头(根据您的需要替换文件名):

 var fileReadStream = fs.createReadStream(filePath);  
 res.setHeader('Content-disposition', 'attachment; filename=YOUR_FILE.EXTENSION');
 fileReadStream.pipe(res);
Run Code Online (Sandbox Code Playgroud)