将 Dropzone.js 整合到 Laravel 5.2 中

integrate Dropzone.js in Laravel 5.2

在我的 laravel 5.2 项目中,我需要创建一个多文件上传区域。我选择Dropzone.js 现在我的问题是如何将此插件与 laravel 一起使用。

这是我的观点:

<div class="tab-pane" id="tab_2">
                <div class="box-body">
                    <div class="form-group">
                        <label for="inputEmail3" class="col-sm-2 control-label">Facebook:</label>
                        <div class="col-sm-10">
                            <input type="text" name="facebook" class="form-control">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="inputEmail3" class="col-sm-2 control-label">Twitter:</label>
                        <div class="col-sm-10">
                            <input type="text" name="twitter" class="form-control">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="video" class="col-sm-2 control-label">Video:</label>
                        <div class="col-sm-10">
                            <input type="text" name="video" class="form-control">
                        </div>
                    </div>

                    <!--File Upload-->


        <div class="dropzone" id="dropzoneFileUpload">
        </div>



 <script type="text/javascript">
        var baseUrl = "{{ url('/') }}";
        var token = "{{ Session::getToken() }}";
        Dropzone.autoDiscover = false;
         var myDropzone = new Dropzone("div#dropzoneFileUpload", {
             url: baseUrl+"/dropzone/uploadFiles",
             params: {
                _token: token
              }
         });
         Dropzone.options.myAwesomeDropzone = {
            paramName: "file",
            maxFilesize: 2, // MB
            addRemoveLinks: true,
            accept: function(file, done) {

            },
          };
     </script>

我的控制器:

    public function store(SpotFormRequest $request) {
     $user = Auth::user();
     $role = $user->role;
     if($role === 'manager'){
         $idagent = 1;
         $idmanager = $user->id;
     }
     else{
         $idagent=$user->id;
         $idmanager=0;
     }


    $spot = new Spot(array(
        'agent_id'=>$idagent,
        'manager_id'=>$idmanager,
        'name' => $request->get('spotname'),
        'address' => $request->get('address'),
        'zip' => $request->get('zip'),
        'city'=>$request->get('city_id'),
        'phone' => $request->get('phone'),
        'mobile' => $request->get('mobile'),
    ));
    $spot->save();

    return redirect('/administrator/spot-new')->with('status', 'Your spot has been created!');
}

我需要在控制器中集成上传。

在 Laravel 项目中实施 Dropzone 可能有点棘手

这是一个循序渐进的步骤tutorial,我发现它非常有用

本教程涵盖:

  1. 自动上传图片
  2. 使用 AJAX 请求
  3. 直接从 Dropzone 预览中删除图像
  4. 上传图片的图片计数器
  5. 使用
  6. 将图像保存为全尺寸和图标尺寸版本
  7. 用于调整大小和图像编码的图像干预包
  8. 将图像数据保存到数据库
  9. 服务器端图像的唯一文件名