我有一个很大的JSON对象,我想通过REST API将该对象作为JSON文件上传。
我试图在本地文件系统中写入json对象,然后从文件创建读取流并将其上传。但是我有一个限制,就是我不应该在本地创建文件,我想像其他任何文件一样将json对象直接上传到REST api。
是否可以将json对象作为流发送到REST API
答案 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并将其下载为文本文件即可。