如何将 json 块作为文件发送给用户
How to send a json block to the user as a file
我有一个很大的JSON块;将其作为(下载的)文件发送到浏览器的最佳方法是什么?
下面是一个示例,如果我的源来自文件,但在我的情况下,我的源不是文件,它是一个变量,我需要将此 json 数据发送到浏览器:
var http = require('http');
var fs = require('fs');
var file = fs.createWriteStream("file.jpg");
var request = http.get("http://i3.ytimg.com/vi/J---aiyznGQ/mqdefault.jpg", function(response) {
response.pipe(file);
});
我尝试的代码:
res.setHeader('Content-disposition', 'attachment; filename=myData.json');
res.setHeader('Content-type', 'application/json');
//data is my variable with my JSON block
res.pipe(data);//This is not right!
如果我的问题含糊不清,如果您需要更多澄清,请告诉我
我不知道
你使用的是哪种类型的框架(Express?),但这仅适用于普通的http模块。
var http = require('http');
http.createServer(function (req, res) {
res.setHeader('Content-disposition', 'attachment; filename=myfilename');
var data = { foo: 'bar' };
res.write(JSON.stringify(data))
res.end()
}).listen(1337, '127.0.0.1');
听起来你可能
想要的是JSON流。EG:你想把一个非常大的JSON对象分成几部分地发送到客户端(不是一次全部发送,浪费了很多内存)。
这里有一个非常好的库可以为您处理此问题:https://github.com/dominictarr/JSONStream
相关文章:
- JavaScript:为什么不't将背景变化发送给用户's选择(简单)
- 正在给用户第二次尝试
- 读取一个本地文件,编码为base64,我想给用户一个将结果保存到文件的选项
- Ajax/php创建了一个数组——如何以.txt的形式下载给用户
- 在页面显示给用户之前拦截并修改DOM
- 如何将SVG节点转换为PNG并下载给用户
- 如何根据从选择菜单中提供给用户的选项更改网页的背景颜色
- 如何使用 JavaScript 写入文件(在用户目录中)
- 如何将 json 块作为文件发送给用户
- 如何选择轨道框选择选项是从咖啡文件给出的
- 如果搜索框位于_SiteLayout页(在页眉 DIV 中),如何将搜索结果返回给用户
- Angularjs 确定呈现给用户的选项卡(指令)
- Javascript函数,可以将包含用户输入的文件下载给用户
- NodeJS编辑二进制文件比将文件返回给用户
- 范围变量以角度更新,但变化不会反映给用户
- Chrome扩展,可以自动提取一些数据并将其显示给用户
- 我可以使用这种消毒液安全地将数据输出给用户吗
- 如何将文件流式传输到服务器,并同步地将其流式传输给用户?(通常文件下载模仿)
- 将多个文件依次发送给用户下载
- 发送一个文件给用户,然后使用Javascript加载新的URL