如何将文件附加到REST调用节点js中的响应

时间:2016-04-04 22:14:46

标签: node.js

我的本​​地驱动器中有一个文件(比如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();
    });

1 个答案:

答案 0 :(得分:1)

尝试在发送回复之前添加此内容:

      var filename = "test5.txt";
      resp.setHeader('Content-disposition', 'attachment; filename=' + filename);
      resp.setHeader('Content-type', 'text/plain');

内容处理标题允许用户将文件保存到他们的计算机,然后决定如何使用它,而不是尝试使用该文件的浏览器。

虽然您要添加内容处置标题,但您要将其添加到其他对象。确保将标题添加到resp对象而不是res对象。