2016-04-28 58 views
0

在我的laravel 5.2項目中,我需要創建一個多文件上傳區域。我選擇Dropzone.js 現在我的問題是如何使用laravel插件。在Laravel 5.2中集成Dropzone.js

這是我的看法:

<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!'); 
} 

我需要在控制器上載集成。

回答

2

實現在Laravel項目懸浮窗可以是一個有點棘手

這是一步步tutorial,我發現非常有用的

本教程介紹:

  1. 圖像自動上傳
  2. 使用AJAX請求直接從Dropzone預覽中刪除圖像
  3. 上傳的圖片計數器圖像
  4. 保存圖像作爲全尺寸和圖標大小的版本使用
  5. 圖片干預包在服務器側調整大小和圖像編碼
  6. 保存的圖像數據到數據庫中的圖像
  7. 唯一的文件名