Воспламенитель кода загрузки изображения

Я использую croppie.js, чтобы обрезать свое изображение и отправить его на сервер. Но иногда сервер показывает ошибку 413 для больших изображений. Есть ли другой способ отправить изображение как изображение без использования 64 базовой строки. Потому что ответ от croppie.js идет в виде 64 базовой строки.

Это мой фрагмент кода jQuery.

$('.upload-result').on('click', function (ev) {
var file = $('input[name=userfile]').val();
var uploadErrors = [];

if (file === "") {
$('.errorImgUpload').html('You did not select a file to upload').fadeIn();
uploadErrors.push("no file");
} else{
$('.errorImgUpload').fadeOut();
}

if (uploadErrors.length === 0) {

$('#doUpload span').html("Uploading...");

$uploadCrop.croppie('result', {
type: 'canvas',
size: {
width: 760,
height: 860
}
}).then(function (resp) {

var formData = new FormData($('#product_detail_images_form')[0]);

$.ajax({
url: "<?= base_url("admin_jsessID/upload_tmp/".$id); ?>",
type: "POST",
data:formData,
mimeType: "multipart/form-data",
contentType: false,
cache: false,
processData: false,
success: function (data) {

data=data.trim();
if (data === "1") {
$('input[name=userfile]').val("");

$uploadCrop.croppie('bind', {

url: ""
});

load_uploaded_images();

$('.doneImgUpload').html('Image Successfully Uploaded.').fadeIn();
$('html, body').animate({
scrollTop: $(".doneImgUpload").height()-20
}, 200);
setTimeout(function () {
$('.doneImgUpload').fadeOut();
}, 5000);
}else if (data === "2"){
$('.errorImgUpload').html('Image Upload Failed.').fadeIn();
$('input[name=userfile]').val("");
$('html, body').animate({
scrollTop: $(".errorImgUpload").height()-20
}, 200);
setTimeout(function () {
$('.errorImgUpload').fadeOut();
}, 5000);
}else if (data === "3"){
$('.errorImgUpload').html('Image Upload Failed.').fadeIn();
$('input[name=userfile]').val("");
$('html, body').animate({
scrollTop: $(".errorImgUpload").height()-20
}, 200);
setTimeout(function () {
$('.errorImgUpload').fadeOut();
}, 5000);
}
else if (data === "0"){
$('.errorImgUpload').html('Upload Image Limit Exceeded.').fadeIn();
$('input[name=userfile]').val("");
$('html, body').animate({
scrollTop: $(".errorImgUpload").height()-20
}, 200);
setTimeout(function () {
$('.errorImgUpload').fadeOut();
}, 5000);
}

$('#doUpload span').html("Upload Image");

}
});
});
}

});

-1

Решение

Используйте методы сжатия, чтобы уменьшить размер.
проверьте библиотеку lzma-js, и она уменьшит на 70% меньше, чем исходная строка изображения base64.

0

Другие решения

Других решений пока нет …