拖放区.JS在形式中,Laravel 5.2 不保存文件



enctype="multipart/form-data"在使用DropzoneJS将上传的文件保存到数据库时一直卡在这个问题上。

在这种情况下的错误是它发布了所有其他表单数据,除了上传的文件,该文件返回空响应,尽管我不确定我在这里缺少什么。

如果有人能设法发现错误,将不胜感激!

视图

<form action="{{url('/save_information')}}" method="POST" enctype="multipart/form-data" class="form-horizontal" role="form">
<meta name="csrf-token" content="{{csrf_token()}}" />
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group">
    <legend></legend>
</div>
<label for="title">Title</label>
<input type="text" name="title" id="input-title" class="form-control">
<label for="description">Description</label>
<input type="text" name="description" id="input-description" class="form-control">
<div class="dropzone dropzone-previews" id="my-awesome-dropzone">
    <input name="_token" type="hidden" value="{{ csrf_token() }}">
</div>

Jquery

<script type="text/javascript">
        Dropzone.autoDiscover = false;
        var myDropzone = new Dropzone("#my-awesome-dropzone",{
            url: "/save_information",
            uploadMultiple: true,
            autoProcessQueue: false,
            addRemoveLinks: true,
            paramName: "file", // The name that will be used to transfer the file
            maxFilesize: 10, // MB
            sending: function(file, xhr, formData) {
                formData.append("_token", "{{ csrf_token() }}");
            }
        });

        $('#submit-all').click(function(){
            e.preventDefault();
            myDropzone.processQueue();
        });

控制器功能

 if (Request::hasFile('filename')) {
        $image = Request::file('filename');
        $location = public_path('images/');
        $filename = time() . '.' . $image->getClientOriginalExtension();
            $image->move($location, $filename);
            $trustDocument->image = $filename;
        } else {
        dd('no image found');
    }
$trustDocument->save();

您设置的参数名称是"file",但在控制器中您引用的是"文件名"。

将控制器中的"文件名"替换为"文件"。

有关与 Laravel 拖放区的更详细集成,您可以参考本教程在 Laravel 5 应用程序中集成 Dropzone.js