我是开发 T 恤构造者。当我通过ajax POST方法将base64数据(canvas.toDataUrl()
)发送到服务器时,我得到带有空格的base64字符串。
例如:
发送:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhsAAAIbCAYAAABCJ1y9AAAgAElEQVR4Xuy9CbCmVXkuur7pn/bcczd00w2INAhBmdQ4EDNpHEi8gVMQcyKpc3NOck3lOKRyokmFUzmHSupgLG9MTFKpeK
获取:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhsAA
AIbCAYAAABCJ1y9AAAgAElEQVR4Xuy9CbCmVXkuur7pn/b
cczd00w2INAhBmdQ4EDNpHEi8gVMQcyKpc3 NOck3lOKRyokmFUzmH SupgLG9MT FKpeK
JS代码:
var data = csrfParam + '=' + csrfToken + '&front_base64=' + frontImage
+ '&back_base64=' + backImage + '&product_id=' + currentProduct['id']
+ '&color_id=' + currentProductColorId + '&size_id=' +
currentProductSize;
var xhr = new XMLHttpRequest();
xhr.open('POST', '/constructor/add-to-cart/', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(data);
xhr.onload = function () {console.log(xhr.responseText)}
最佳答案
使用 jquery ajax 它会让你的生活变得更轻松,问题也会得到解决:
$.post('/constructor/add-to-cart/',{
csrfParam : csrfToken,
front_base64: frontImage,
back_base64 : backImage,
product_id : currentProduct['id'],
color_id : currentProductColorId,
size_id : currentProductSize
},function(response){
console.log(response)
});
如果你想在后端查看base64图像来检查是否正常
<img src="/* base 64 string here */" />
而不是仅仅查看字符串。
关于javascript - 如何通过ajax发送base64图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44599205/