我開發了t恤構造函數。當我通過ajax POST方法向服務器發送base64數據(canvas.toDataUrl()
)時,我得到了帶空格的base64字符串。如何通過ajax發送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)}
請求數據中是否顯示空格?如果您在開發人員控制檯 - >網絡選項卡下查看請求,那麼是否顯示空格?如果是這樣,那麼這是與JavaScript添加它們,而不是PHP的問題。你也可以嘗試在你的變量周圍使用'encodeURIComponent()'來確保url實體被正確地轉換爲它們的url轉義值(即'%20'爲空格)。如果你仍然看到空格,那麼你需要提供更多的代碼,因爲這裏顯示的代碼不會那樣做。 –
'encodeURIComponent()'不轉換url轉義值。但是,當我寫服務器的txt文件front_base64我看到空間 –