Я делаю всплывающее окно ajax для загрузки изображения в файловую систему. Процесс загрузки изображения имеет следующие этапы.Как получить изображение BLOB из formData jquery ajax в php
- Выбор файла и обрезка его до нужного размера.
- результат изображения отображается в
<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']);
}
и сообщение об ошибке есть ..
Сообщение: Undefined индекс: фото
Я думаю, что вы должны использовать ** метод: «POST» ** вместо ** метода: «GET» **, как в контроллере, вы пытаетесь получить данные из запроса POST –
Прошу прощения, что это была всего лишь типизация error..i использовал метод POST –
перед вашим вызовом ajax, пожалуйста, поставьте 'console.log (formData);' и сообщите нам, что он говорит –