【问题标题】:Dropzone Multiple File upload not working For Excel FileDropzone多个文件上传不适用于Excel文件
【发布时间】:2019-10-31 22:56:54
【问题描述】:

我在 Dropzone 和 Laravel 5.7 中遇到了问题。我目前正在通过 dropzone 上传 excel 文件。但它不能正常工作。例如,如果我添加 10 个文件,那么在我的数据库中有 10 个具有不同文件名的条目,但在文件存储文件夹中没有 10 个文件,它从 6、7、8 个文件不等。我正在为upload_max_filesizemax_file_uploads 更改我的php.ini 文件。这是我的代码 sn-p。 我的 Js 代码

<script type="text/javascript">
    Dropzone.options.dropzone =
        {
            parallelUploads: 1, // Uploads one (1) file at a time, change to whatever you like.
            autoProcessQueue: true,
            uploadMultiple: true,
            maxFiles: 100,
            maxFilesize: 3,
            autoQueue: true,
            renameFile: function (file) {
                var dt = new Date();
                var time = dt.getTime();
                return time + file.name;
            },
            addRemoveLinks: true,
            timeout: 50000,
            removedfile: function (file)
            {
                var name = file.upload.filename;
                $.ajax({
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
                    },
                    type: 'POST',
                    url: '{{ url("admin.pos.deleteexcel") }}',
                    data: {filename: name},
                    success: function (data) {
                        console.log("File has been successfully removed!!");
                    },
                    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);
            },
            error: function (file, response)
            {
                return false;
            }
        };
</script>

我的表格是

{!! Form::open(['method'=>'POST', 'action'=>'backend\ExcelController@multipleExcelStore', 'files'=>true, 'id' => 'dropzone_form', 'class'=>'dropzone needsclick dz-clickable']) !!}
        <div class="dz-message needsclick">
            <div class="search-block">
                <div class="row">
                    <div class="col-xs-12">
                        <div class="upload_container">
                            <div class="upbtn_block_1">
                                Drag &amp; drop Files Here
                            </div><!--/upbtn_block_1 -->
                            <div class="up_text_block">Or</div>
                            <div class="upload_btn"><span>Browse File</span></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        {!! Form::close() !!}

还有我的控制器代码

public function multipleExcelStore(Request $request) {
    $input = [];
    $imageName = Carbon::now()->format('Y') . '/' . Carbon::now()->format('m') . '/' . uniqid() . '_' . time() . '.' . $request->file('file')->getClientOriginalExtension();
    $destinationPath = Config::get('constants.PO_MULTILE_ATTACHEMNT') . '/';
    Helper::uploadFile($request->file('file'), null, $destinationPath, $imageName);
    $input['attachment'] = Config::get('constants.PO_MULTILE_ATTACHEMNT') . '/' . $imageName;
    $input['process_user_id'] = Auth::guard('admin')->user()->id;
    $input['process_ip'] = $request->ip();
    $input['name'] = $request->file('file')->getClientOriginalName();
    PosExcel::create($input);
    return response()->json(['success' => $imageName]);
}

我用谷歌搜索但没有成功返回。 谢谢你

【问题讨论】:

    标签: javascript php jquery laravel dropzone.js


    【解决方案1】:

    你有没有试过删除

    autoProcessQueue: true,
                uploadMultiple: true,
    

    我有另一个需要多次上传的项目,不需要在 javascript 中使用该参数,队列也可能是问题所在,尝试并告诉我们:)

    祝你好运

    【讨论】:

    • 你说不要全部上传,而是上传更多的1个文件,可能是文件大小的问题?最大文件大小:3,??
    • 我也改变了它但没有工作,我还在我的问题中告诉我我的数据库插入工作正常但我的存储文件夹没有同时上传文件
    • 如果您说在数据库中注册正常,那么您所说的问题是存储它。尝试使用 $image->move(public_path().$path, $name); 存储它或者你想要的地方而不是使用 Helper::uploadfile
    • 但是如果我的存储有问题,为什么它存储了一些文件?
    • 文件类型、操作系统可能...我会尝试知道是否总是相同的文件不上传
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-27
    相关资源
    最近更新 更多