尝试将简单的文本字符串作为文件发送,该文件在请求时以特定名称下载。无法弄清楚为什么此代码失败。
当这段代码执行时,我只收到一个XHR响应(其内容为该字符串),但没有启动下载。但是我期望接收到此响应后,浏览器会强制下载一个名为
如何解决?我错在哪里了?
也许这很重要:在Windows上使用Chrome 41运行。
编辑:似乎我需要更深入地描述一下工作流程:
页面包含带有angular
单击时,使用jQuery的$.get(“/ download”)发送GET请求到“/ download”
服务器有路由来处理这些GET请求
我的目标是将某个文本字符串发送给用户并保存为文件(简而言之,在单击时启动下载)
测试:
当我手动导航到该URL并按Enter键时,它起作用
当我使用鼠标单击该单元格时,它不起作用-发送请求,接收响应,但未启动下载。
var text_ready = "This is a content of a txt file."
res.setHeader('Content-type', "application/octet-stream");
res.setHeader('Content-disposition', 'attachment; filename=file.txt');
res.send( new Buffer(text_ready) );
当这段代码执行时,我只收到一个XHR响应(其内容为该字符串),但没有启动下载。但是我期望接收到此响应后,浏览器会强制下载一个名为
file.txt
的文件,其中包含上述字符串的内容。如何解决?我错在哪里了?
也许这很重要:在Windows上使用Chrome 41运行。
编辑:似乎我需要更深入地描述一下工作流程:
页面包含带有angular
ng-click
事件附加到每个单元格的表单单元格单击时,使用jQuery的$.get(“/ download”)发送GET请求到“/ download”
服务器有路由来处理这些GET请求
我的目标是将某个文本字符串发送给用户并保存为文件(简而言之,在单击时启动下载)
测试:
当我手动导航到该URL并按Enter键时,它起作用
当我使用鼠标单击该单元格时,它不起作用-发送请求,接收响应,但未启动下载。
<iframe src="http://127.0.0.1:1337/" />
或者尝试这个链接:https://dev59.com/_mEi5IYBdhLWcg3w6f2e - Kristiyanwindow.location = "/download/"
已经使其正常工作,但我仍会标记您的答案为可接受。 - kaytrance