2016-11-17 79 views
0

jQuery的Dropzone.js多圖片上傳工作不正常

Dropzone.options.sliderDropzone = { 
autoProcessQueue: true, 
parallelUploads: 1, 
acceptedFiles : 'image/*', 
paramName : "resim", 
init: function() { 
     this.on("complete", function (file) { 
      if (this.getUploadingFiles().length === 0 && this.getQueuedFiles().length === 0) { 
       setTimeout(function(){ location.reload(true); }, 2000); 

      } 



     }) 
    } 
}; 

的Html

<form action="/upload" class="dropzone dropzone-file-area " id="sliderDropzone" method="POST" > 

       {{ csrf_field() }} 
       <div class="dz-default dz-message"><span><i class="icon-cloud-download" style="font-size:50px;display:block"></i><br/> Resmi sürükleyip bırakın veya buraya tıklayın.</span></div> 


      </form> 

服務器端Laravel

public function resim_upload(Request $request,$proje_id) 
{ 


    if($resim = $request->file("resim")) 
    { 

      $time = time(); 
      $resim_isim = $time.".jpg"; 
      $resim_isim_thumb = "galeri_thumb_".$time.".jpg"; 
      $resim_isim_large = "galeri_large_".$time.".jpg"; 
      Image::make($resim->getRealPath())->fit(600,400)->save(public_path("uploads/".$resim_isim_thumb)); 
      Image::make($resim->getRealPath())->resize(null, 720, function ($constraint) { 
       $constraint->aspectRatio(); 
      })->save(public_path("uploads/".$resim_isim_large)); 

      $input = []; 
      $input["isim"] = $resim_isim; 
      $input["imageable_id"] = $proje_id; 
      $input["imageable_type"] ="App\Proje"; 

      $input["sira"] = 0; 
      Resim::create($input); 



     Session::flash("b_durum",0); 
     Session::flash("bilgilendirme","Resim başarıyla yüklendi"); 




    } 
} 

問題時。例如,我想上傳5個圖像文件。在數據庫端添加5條記錄,但某些圖像名稱相同。當我控制了上傳文件夾3圖像上傳,但在數據庫中的圖像記錄是5

在上傳文件夾圖像名稱

galeri_large_1479329550.jpg 
galeri_large_1479345567.jpg 
galeri_large_1479374665.jpg 

數據庫記錄

image name column 
--------------------------- 
galeri_large_1479329550.jpg 
galeri_large_1479329550.jpg 
galeri_large_1479345567.jpg 
galeri_large_1479345567.jpg 
galeri_large_1479374665.jpg 

有時,當上傳沒問題多個文件但通常會發生此問題。所以我不明白爲什麼會出現問題。

回答

0
foreach ($request->file("resim") as $thumbsnail) { 
       $thu = time().'.'.$thumbsnail->getClientOriginalExtension(); 
       Image::make($thumbsnail->getRealPath())->resize(600, 400, function ($constraint) { 
        $constraint->aspectRatio(); 
       })->save($destinationPath.'/'.$thu); 

//Insert to the DB 


      } 
//Then return response 
+0

parallelUploads:1在dropzone配置中。所以上傳不是數組。所以這不是解決方案。 – ahmetkocabiyik

+0

好的。我的錯。我教他們都有同樣的名字 – Michel