在节点JS的REST API中将json对象上传为文件流

时间:2019-02-06 17:23:39

标签: node.js json file-upload

我有一个很大的JSON对象,我想通过REST API将该对象作为JSON文件上传。

我试图在本地文件系统中写入json对象,然后从文件创建读取流并将其上传。但是我有一个限制,就是我不应该在本地创建文件,我想像其他任何文件一样将json对象直接上传到REST api。

是否可以将json对象作为流发送到REST API

1 个答案:

答案 0 :(得分:0)

使用要发送的JSON对象创建一个新的BLOB,然后使用FormData将其作为文件发送出去。

var formData = new FormData();
var blob = new Blob(['{"hello": "world!!!"}'], { type: 'text/json' });
formData.append('file', blob,'my_file.json');

然后将其作为POST请求发送出去。

fetch('http://URLgoesHere',
{ method: 'POST', body: formData,})
.then(console.log("works!"))
.catch((err) => console.log(err));

如果您尝试在服务器端执行此操作,则直接发送JSON对象可能会更容易,当在客户端接收到该对象时,只需使用JSON数据创建一个blob并将其下载为文本文件即可。