我正在做一个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);'并让我们知道它说什么 –