将大型(5-10 mb) json文件上传到服务器的最佳方式是什么?
我是新手,试着做这样的事:
var request = new XMLHttpRequest();
var data = 'data=' + encodeURIComponent(myJSON);
request.open("POST", website, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send(data);大多数情况下,它可以工作,但有时服务器不接收post请求,特别是当我的网络速度很低时。
是否有任何安全&可靠的方法将大型json文件发送到服务器?
发布于 2020-12-18 21:50:06
对我的评论进行详细阐述
将
fetch()与带有JSON数据的Blob的FormData一起使用。后端必须能够接收多部分表单数据。
像这样的东西可能是实现这一点的最低限度。
const data = new FormData();
const jsonBlob = new Blob([myJSON], {type: "application/json"});
data.append("data", jsonBlob);
fetch(website, {
method: "POST",
body: data,
}).then(resp => {
if(!resp.ok) {
const err = new Error("Response wasn't okay");
err.resp = resp;
throw err;
}
console.log("Okay!");
}).catch(err => {
console.error(err);
});https://stackoverflow.com/questions/65363010
复制相似问题