Base64太大会导致CORS

时间:2020-05-20 04:03:28

标签: javascript typescript cocoscreator

我使用此代码上传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字符串过大时,它将出错

像这样

enter image description here

但是同一张图片,当我压缩它时
(4.3MB至627KB)

enter image description here

很好,可以上传到服务器

有人可以告诉我如何解决吗?

0 个答案:

没有答案