我的本地驱动器中有一个文件(比如test.txt),我正在尝试将此文件附加到REST服务的响应中。我试过resp.writeHead和rest.attachment(' ./ test.txt');我相信我在这里遗漏了一些东西。我在海报窗口的响应中获得状态200,但没有获取文件。任何人都可以帮到我失踪的地方吗?
app.get('/getFile', function (req, resp) {
res.setHeader('Content-disposition', 'attachment; filename=' + '/MyDisk/test5.txt');
filestream = fs.createReadStream('/MyDisk/test5.txt');
filestream.pipe(resp);
resp.status(200);
resp.end();
});
答案 0 :(得分:1)
尝试在发送回复之前添加此内容:
var filename = "test5.txt";
resp.setHeader('Content-disposition', 'attachment; filename=' + filename);
resp.setHeader('Content-type', 'text/plain');
内容处理标题允许用户将文件保存到他们的计算机,然后决定如何使用它,而不是尝试使用该文件的浏览器。
虽然您要添加内容处置标题,但您要将其添加到其他对象。确保将标题添加到resp
对象而不是res
对象。