我正在做一個AJAX彈出窗口上傳圖像到文件系統。圖像上傳過程具有以下步驟。如何檢索圖像BLOB從PHP中的jQuery的AJAX的formData
- 選擇文件並將其裁剪爲所需的大小。
- 結果圖像顯示在
<img>
標籤src中作爲Base64代碼。 - 轉換的Base64到BLOB通過AJAX發送
這裏是代碼...
$(document).ready(function(){
$('#btn_save').on('click', function() {
var PaymentStatus = $("#PaymentStatus").val();
var image = $('#image-id').val();
var base64ImageContent = image.replace(/^data:image\/(png|jpg);base64,/, "");
var blob = base64ToBlob(base64ImageContent, 'image/png');
var formData = new FormData();
formData.append('picture', blob);
formData.append('PaymentStatus', PaymentStatus);
$.ajax({
data: formData,
url:"/login/advshop/add",
method: 'GET',
processData: false,
contentType: false,
success: function (result) {
alert("form submitted");
},
error: function (result) {
alert('error');
//alert(result);
}
});
});
});
,但我不能讓我的控制器的數據..
public function add() {
print_r($_POST['picture']);
}
and the error message is ..
消息:未定義指數:圖片
我想你必須**用戶**方法:'POST'**而不是**方法:'GET'**如在控制器中試圖從POST請求中獲取數據 –
對不起,這只是一種打字error..i在你的ajax調用之前使用POST方法 –
請放一個'console.log(formData);'並讓我們知道它說什麼 –