拖放区多个文件上传不适用于 Excel 文件



我在Dropzone和Laravel5.7中遇到了一个问题。我目前正在通过拖放区上传 excel 文件。但它无法正常工作。例如,如果我添加 10 个文件,那么在我的数据库中有 10 个具有不同文件名的条目,但在文件存储文件夹中没有 10 个文件,它与 6,7,8 文件不同。我正在更改我的 php.ini 文件以进行 upload_max_filesizemax_file_uploads.这是我的代码片段。我的 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'=>'backendExcelController@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]);
}

我用谷歌搜索它,但返回没有任何成功。谢谢

您是否尝试过删除

autoProcessQueue: true,
            uploadMultiple: true,

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

祝你好运

最新更新