2016-10-04 104 views
2

我使用內置文件上傳的laravel將視頻上傳到我的網站。我已經成功上傳了該文件,但當我的朋友嘗試上傳視頻時,他收到了一個錯誤「validation.uploaded」,我不知道爲什麼會發生這種情況,我一直在試圖找到錯誤,但我可以'找到它。我們都在firefox和chrome中嘗試它,但只有我的朋友得到它。請幫助,這是我的代碼:Laravel 5文件上傳驗證

保存視頻功能

protected function saveVideo(UploadedFile $video) 
{ 
    $fileName = str_random(40); 

    $fullFileName = $fileName.'.'.$video->guessClientExtension(); 

    $video->storeAs('videos', $fileName); 

    return $fullFileName; 
} 

保存從形式

public function update(Request $request, $id) 
{ 
    //dd($request->all()); 
    $video = Video::findOrFail($id); 
    $this->validate($request, [ 
     'title' => 'required|unique:lessons,title,'.$video->id, 
     'lesson_lists' => 'required', 
     'description' => 'required' 
    ]); 
    $data = $request->only('title', 'description','lesson_lists'); 
    $data['slug'] = str_slug($request->title); 

    if($request->hasFile('image')){ 
     $data['image'] = $this->saveImage($request->file('image')); 
     if($video->image !== '') $this->deletePhoto($video->image); 
    } 

    if($request->hasFile('video')){ 
     $data['video'] = $this->saveVideo($request->file('video')); 
     if($video->video !== '') $this->deleteVideo($video->video); 
    } 

    //$data['lesson_id'] = implode($request->get('lesson_lists')); 
    $video->update($data); 
    Session::flash("flash_notification", [ 
     "level"=>"success", 
     "message"=>"Berhasil menyimpan $video->title" 
    ]); 

    return redirect()->route('video.index'); 
} 
+0

您是否嘗試過使用相同的文件?檢查他的視頻的文件大小,並檢查服務器最大上傳文件大小是什麼(並檢查您的表單中是否有大小限制)。 –

+0

@MagnusEriksson謝謝,顯然它只是服務器上傳限制配置。改變它之後,它就像一個魅力 –

+0

這是通常的情況下...... :) –

回答

4

其實如果文件的嘗試下載大小超過了「的upload_max_filesize」的Laravel顯示該驗證錯誤,所以你必須打開php.ini文件,並設置這樣的選項:

的post_max_size = 500M

的upload_max_filesize = 500M

注意:如果你使用WAMP或XAMP不要忘了重新啓動它,否則重新運行該命令:

PHP工匠服務

0

Laravel反應422無法處理的實體其響應主體包含validation.uploaded由於超過上傳大小限制。嘗試爲以下可能的參數(如10M)設置適當的值:

/etc/php.ini(PHP):

  • 的upload_max_filesize 10M
  • 的post_max_size 10M

.htaccess(阿帕奇):

  • php_value upload_max_filesize 10M
  • php_value post_max_size要10M

然後重新啓動Apache sudo systemctl restart httpd.service(美分OS 7)