我使用此代码上传base64
public static post(api:number, params:object = {},callback:{(success:boolean, json: any): void;})
{
var xhr = new XMLHttpRequest();
xhr.open("POST", this.baseUrl+this.serverAPI, true);
xhr.setRequestHeader('content-type', 'text/html');
xhr.onreadystatechange = function() {
if (xhr.readyState == 4)
{
if(xhr.getResponseHeader('content-type')==='text/html')
{
let response = JSON.parse(xhr.responseText);
if(response.code === -1)
{
callback(false, response);
}
else
{
callback(true, response);
}
}
else
{
const result = {code: -90001};
console.log(false, result);
}
}
}
params["cmd"] = api;
const strData = JSON.stringify(params);
cc.log("DATA:", strData);
xhr.send(strData);
}
并且我确定它在服务器上添加了“ Access-Control-Allow-Origin”
但是当我将base64字符串过大时,它将出错
像这样
但是同一张图片,当我压缩它时
(4.3MB至627KB)
很好,可以上传到服务器
有人可以告诉我如何解决吗?