Загрузка зависает с помощью Dropzone.js с Laravel - PullRequest
0 голосов
/ 05 июля 2019

Я использую dropzone.js и интегрировал его с Laravel.Все работает как положено.Загрузка файлов меньшего размера без проблем.Но около порога в 3,5 Мб, загрузки имеют тенденцию к остановке.

Пара замечаний:

Согласно моему phpInfo, следующие параметры установлены так:

max_execution_time = 60s
max_file_uploads = 20
memory_limit = 128M
post_max_size = 10M
upload_max_filesize = 10M

Кроме того, при инициализации JS у меня для maxFileSize установлено значение 25 (полный код приведен ниже).

Я также проверил в своей хостинговой компании, и размер сообщения NGINX также установлен равным 25 МБ.

Как упоминалось ранее, сценарий и все, кажется, работает нормально, если файлы меньше ~ 3,5 МБ, поэтому я не обязательно думаю, что это проблема со сценарием или разрешениями.Просто, как только он достигнет отметки 3,5 Мб, загрузка просто останавливается и никогда не заканчивается.Должно быть что-то, где-то, что мешает файлу превышать этот размер - но я не могу понять, на что он способен.

Есть идеи о том, чего мне не хватает?

Dropzone.options.dropzone = {

maxFilesize: 25,
init: function() {
    console.log("Its initialized.");

    this.on("queuecomplete", function (file) {
        console.log(file);
        console.log("All done!");
    });
},

renameFile: function(file) {
    var dt = new Date();
    var time = dt.getTime();
   return time+file.name;
},

acceptedFiles: ".jpeg,.jpg,.png,.gif,.ai,.psd,.pdf,.tiff,.eps,.svg,.xd",
addRemoveLinks: true,
timeout: 5000,
removedfile: function(file) {
    var name = file.upload.filename;

    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });

    $.ajax({
        type: 'POST',
        url: 'logo/delete',
        data: {filename: name},
        success: function (data){
            console.log("File has been successfully removed!!");
            $(".logos-wrapper").empty().append(data);
        },
        error: function(e) {
            console.log(e);
        }});
        var fileRef;
        return (fileRef = file.previewElement) != null ? 
        fileRef.parentNode.removeChild(file.previewElement) : void 0;
},
success: function(file, response) {
    console.log(response);
    var someValue = "";
    $.ajax({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
        },
        type: 'GET',
        url: 'get-logos',
        data: {someValue:someValue},
        success: function (logos){
            $(".logos-wrapper").empty().append(logos);
        },

        error: function(e) {
            console.log(e);
        }
    });

},
error: function(file, response) {
    console.log("There was an error");
   return false;
}
};
...