Base64的较短版本?

时间:2019-05-01 02:08:06

标签: javascript c# base64

我正在尝试通过Ajax将图像传递到我的MVC控制器。当前,我正在尝试将其作为Base64字符串传递,但是它太长并且抛出错误414(大约33,000个字符)。

Base64字符串来自在我拥有的画布上调用toDataUrl的结果,该画布是当前浏览器窗口的“屏幕截图”。

是否有更好的方法将画布图像传递给我的控制器?

var imgBase64 = canvas.toDataURL('image/jpg').replace('data:image/png;base64,', '');

$.ajax({
     url: "API Url - Actual URL is in code just removed here",
     data: {
        "imgBase64":imgBase64 
     },
     contentType: "application/json; charset=utf-8",
     dataType: "jsonp",
     type:"POST",
     success: function(res){
         console.log("Success");
     }
});

1 个答案:

答案 0 :(得分:0)

我的问题在于使用jsonp而不是json。由于jsonp仅发送GET请求,因此将Base64字符串添加到URL,而不是在POST正文中发送。将数据类型更改为json并解决我的CORS问题解决了我的问题。