在Node + Express中提供动态下载

时间:2014-12-10 12:55:49

标签: node.js express coffeescript

我正在尝试通过发送Node.js即时生成的文件来响应网页中的POST。我宁愿避免将文件保存到磁盘然后调用res.download的天真方式。

关注this post后,我尝试了以下咖啡:

app.post "/post", (req, res, next) ->
  mydata = "I want to write this to a file"
  res.setHeader 'Content-disposition', 'attachment; filename="myFile.txt"'
  res.setHeader 'Content-type', 'text/plain'
  res.write mydata
  res.end()
但是,它不起作用。我只是获得了我的表单所在的页面,就像它刷新了一样。我已经使用res.redirect和app.get重定向到GET,但它也不起作用。

修改

我已经尝试了上面的代码和一个非常简单的快速服务器。如果我使用method =“post”提交表单数据,它就可以工作。但是,我想要做的是通过jQuery的post()发送数据。这是我的JS:

$('form').find(':submit').click();    
if ($('form')[0].checkValidity()) {
    $.post('/post', js);
}

这里,js只是一个javascript对象。我试过删除click()甚至checkValidity()部分;这有助于重新加载页面,但我仍然无法下载myFile.txt。

任何人都能解开一些光明吗?

由于

0 个答案:

没有答案