在我的Node / Express应用程序中,我有以下代码,假设要从文件中读取PDF文档,并将其发送到浏览器:
var file = fs.createReadStream('./public/modules/datacollectors/output.pdf', 'binary');
var stat = fs.statSync('./public/modules/datacollectors/output.pdf');
res.setHeader('Content-Length', stat.size);
res.setHeader('Content-Type', 'application/pdf');
res.setHeader('Content-Disposition', 'attachment; filename=quote.pdf');
res.pipe(file, 'binary');
res.end();
我没有收到任何错误,但是我也没有在浏览器中获取文件。我究竟做错了什么?
您必须通过管道从Readable Stream到Writable流,而不是相反:
var file = fs.createReadStream('./public/modules/datacollectors/output.pdf');
var stat = fs.statSync('./public/modules/datacollectors/output.pdf');
res.setHeader('Content-Length', stat.size);
res.setHeader('Content-Type', 'application/pdf');
res.setHeader('Content-Disposition', 'attachment; filename=quote.pdf');
file.pipe(res);
另外,您以错误的方式设置了编码,如果需要,可以通过编码传递对象。
我是Node.js的初学者,所以根据项目要求,我试图从Node.js调用REST服务,我从这个SO问题中获得了如何调用rest的信息。这是进行rest调用的代码: 问题是我想发送作为对浏览器的响应,我尝试了但它给我抛出了错误“写入方法未找到”。我到处都在文档中查找,但他们给出的只是console.log.有人能让我知道如何将该数据作为响应发送到浏览器吗?
求解答,小文件能正发送至浏览器,大一点的发送失败,浏览器显示未收到服务器发送过来的数据 我在实现基于Libevent库的b/s模型时,使用bufferevent_write向浏览器发送10M的mp3文件失败,打印错误码errno的值一直等于11 resource temporarily unavailable, 并在回调函数调用完之后异常终止,无错误信息。并非跳出event_base_dispat
问题内容: 在行动方法(JSF)中,我有如下内容: 如何将byte []作为pdf发送到浏览器? 问题答案: 在action方法中,您可以通过JSF幕后获得HTTP servlet响应。然后,您至少需要将HTTP 标头设置为,并将HTTP 标头设置为(当您要弹出 另存为 对话框时)或将HTTP 标头设置为(当您想让Web浏览器处理显示本身时)。最后,您需要确保稍后再打电话以避免s飞来飞去。 开球示
问题内容: 我试图使用在stackoverflow上发现的不同方法来保存.pdf文件,但是,我总是会损坏它。当我使用记事本打开损坏的文件时,我得到以下信息: 后来,我尝试使用@BalusC提供的答案从浏览器中保存文件。这个解决方案非常有帮助:我能够摆脱这些问题。但是,它也会产生损坏的.pdf。但是当我用记事本打开它时,它是完全不同的。但是,不再有登录问题: 我还有什么其他选择? PS:当我尝试使用
在过去的几个小时里,我一直在阅读推送通知应用编程接口和网络通知应用编程接口。我还发现谷歌 我试图了解我们是否可以使用桌面通知实现对浏览器的推送通知,我相信这就是Web通知API所做的。我在这里看到了一个关于如何为Chrome做到这一点的谷歌文档 现在我还不明白的是: 我们可以使用GCM/APNS向包括Firefox在内的所有Web浏览器发送推送通知吗 我相信所有这些答案都可以帮助很多有类似困惑的人
然而,这种方法有几个问题: 它似乎只适用于iPhone而不适用于Android。对于Android,是否有类似的解决方案? 只有在您被重定向到WhatsApp后,它才能选择发送给谁,除非您知道用户的通讯簿ID(=)。第一,我不知道如何访问用户的abid?第二,我正在尝试发送到一个小组,在这种情况下没有abid(对吗?),因此似乎不可能做到这一点。是真的吗?另外,Android应用程序会发生什么呢?