获取node.js将缓冲区作为文件发送
getting node.js to send buffer as a file
我试图在服务器端创建一个excel工作簿,当他们访问某个路由时发送给用户(使用express.js)我使用的模块从https://github.com/riyadhalnur/excelbuilderjs-node并且我确实在workBookB64
常量中有大量数据,并且在我的浏览器(chrome)中,我确实在res.end()
调用后获得处置和内容类型的标题。但是文件永远不会在浏览器端下载。我有我的节点进程后面运行的Nginx反向代理,处理SSL。任何关于如何获得文件下载的想法将是伟大的!
const result = Excel.createFile( workBook );
const workBookB64 = new Buffer( result, 'base64' );
res.setHeader( 'Content-Disposition', 'attachment; filename=' + fileName );
res.setHeader( 'Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64' );
res.end( workBookB64 );
我自己解决了。事实证明,问题在于我如何请求URL。客户端代码使用jQuery调用:$.get("/getReport")
所以响应返回到这个调用,它没有回调处理程序。所以在我看来,这似乎行不通。我使用的解决方案是消除JS,只使用锚标记,并直接调用URL。
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 节点.js从 UTF8 文件创建十六进制缓冲区
- 如何将timbre.js缓冲区导出为.wav或任何其他音频文件格式
- 在没有文件的情况下播放HTML5中javascript的音频-使用缓冲区
- 如何将缓冲区对象转换为 Node.js 中的文件
- nodejs 请求 - toString 失败 - 大文件的缓冲区大小问题 (maxBufferSize)
- Webaudio API:将数组缓冲区作为文件存储在服务器上,稍后检索
- 如何从浏览器将UInt8Array缓冲区写入媒体文件格式
- 如何将javascript缓冲区作为文件从node.js服务器发送
- 获取node.js将缓冲区作为文件发送
- 在浏览器中将远程文件读入节点缓冲区
- 如何在winrt html/JavaScript中上传一个文件流/缓冲区?
- 内联& lt; video>带缓冲区的大文件
- Web 音频 API:偏移/查找到缓冲区/wav 文件中的某个点
- 如何使用媒体源api将两个视频文件数据附加到源缓冲区