Загрузить изображение PHP + AJAX, как добавить куски - PullRequest
0 голосов
/ 23 октября 2019

У меня проблема с загрузкой больших изображений. Я пытаюсь написать сценарий, который разделит файл на части и отправит их одну за другой. Я не хочу использовать готовые решения.

Сценарий PHP сначала проверяет формат изображения, затем проверяет его размеры (я указываю минимальное и максимальное значения), а затем я передаю файл на сервер с помощью move_uploaded_file. () функция. Все работает, однако проблема возникает для фотографий размером более 2 МБ.

Добавлю, что изменение в php.ini не помогло ...

Как разбить файл на пакеты?

$('input#image_file').on('change', function(){

    var postData = $("#submit_form").serialize();

    var form = $("#submit_form");
    var formData = new FormData(form[0]);

    // FIRST
    $.ajax({
        url: '/inc/request/uploadImage.php',
        type: 'POST',
        dataType: "JSON",
        data: formData,
        cache: false,
        contentType:false,
        processData:false,
        timeout:700000,
        xhr: function () {
          var myXhr = $.ajaxSettings.xhr();
          if (myXhr.upload) {
            myXhr.upload.addEventListener('progress', function (e) {
              if (e.lengthComputable) {
                $('progress').attr({
                  value: e.loaded,
                  max: e.total,
                });
              }
            }, false);
          }
          return myXhr;
        },
        beforeSend: function() {
            $(".custom-file-upload").hide();
            $("#loadImage").fadeIn(100);
        },
        success: function(json){
            if (json.status == 1) {
                $('button[name="add_pet"]').show();
                $(".ask-question-modal").fadeIn();
            }
            else {
                swal({
                    type: "error",
                    title: "Wystąpił błąd",
                    text: json.error_msg,
                    allowOutsideClick: "true",
                    showConfirmButton: "true"
                });
            }
            $(".custom-file-upload").show();
            $("#loadImage").fadeOut(100);
            $('#image_edit').append(json.image_edit);
            $('#image_file').val('');(json.status);
        },
        error: function(xmlhttprequest, textstatus, message) {
            swal({
                type: "error",
                title: "Error",
                text: message,
                allowOutsideClick: "true",
                showConfirmButton: "true"
            });
            $(".custom-file-upload").show();
            $("#loadImage").fadeOut(100);
            $('#uploads_area').append(json.add_image);
            $('#image_file').val('');(json.status);
        }
    });

    return false;

});

Пожалуйста, помогите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...