我正在尝试通过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");
}
});
答案 0 :(得分:0)
我的问题在于使用jsonp而不是json。由于jsonp仅发送GET请求,因此将Base64字符串添加到URL,而不是在POST正文中发送。将数据类型更改为json并解决我的CORS问题解决了我的问题。