首页 > 解决方案 > 使用 Dropzone.js 和 Laravel 上传卡住了

问题描述

我正在使用 dropzone.js,并将其与 Laravel 集成。一切都按预期工作。较小的文件大小上传没有问题。但在 3.5mb 阈值附近,上传往往会停滞不前。

几点注意事项:

根据我的phpInfo,设置如下参数:

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

此外,在初始化 JS 时,我将 maxFileSize 设置为 25(下面的完整代码)。

我还咨询了我的托管公司,NGINX 帖子大小也设置为 25mb。

如前所述,只要文件低于~3.5mb,脚本和一切似乎都可以正常工作,所以我不一定认为这是脚本或权限的问题。只是,一旦达到 3.5mb 标记,上传就会停止,并且永远不会完成上传。一定有什么东西,在某个地方阻止了一个文件超过那个大小——但我一生都无法弄清楚它可能是什么。

关于我可能遗漏的任何想法?

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;
}
};

标签: phplaraveluploaddropzone

解决方案


推荐阅读