2016-09-15 44 views
-1

我试图创建在服务器端是发送给用户,当他们访问某条路(使用express.js)的Excel工作簿 我使用从https://github.com/riyadhalnur/excelbuilderjs-node 模块和我有一大块在workBookB64常量数据,并在我的浏览器(Chrome)我做res.end()通话后得到处置和内容类型都头。 但是该文件从不在浏览器端下载。 我有我的节点进程在Nginx反向代理后面运行,以处理SSL。 关于如何让文件下载的任何想法都会很棒!让Node.js的发送缓冲区作为文件

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); 

还没有评论?我觉得很肮脏,现在使用。 :(

回答

0

我自己解决了这个问题,结果发现问题在于我如何请求URL。客户端代码使用jQuery调用: $.get("/getReport")所以响应回到了这个调用中,它没有回调处理所以我觉得好像它不工作 我使用的解决方案是消除JS,并且只使用一个锚标记,并直接调用URL

注意:如果你觉得有必要向下投我的回答也一样,至少发表评论。