2017-02-22 11 views
0

我想在方法更新()上傳文件到服務器。Lravel 5.4更新方法和上傳文件

上傳方法:

private function upload($request){ 
    if($request->hasFile('image')){ 
     $image = $request->file('image'); 
     $extension = $request->file('image')->getClientOriginalExtension(); 
     $generate_name = md5(uniqid(rand(), true)); 
     $file_name = $generate_name . '.' . $extension; 
     $image->move(public_path() . '/post_image/', $file_name); 
     return $file_name; 
    } 
} 

更新方法:

public function update(ArticleRequest $request, $id) 
{ 
    $article = Article::FindOrFail($id); 

    $file = $this->upload($request); 
    $article->image = $file; 

    $article->update($request->all()); 

    Session::flash('message', 'Wpis został edytowany!'); 

    return redirect('articles'); 
} 

然而,當我把出現的形式錯誤。

enter image description here

但隨着upload()方法商店相同的代碼工作得很好。

public function store(ArticleRequest $request) 
{ 
    $article = new Article($request->all()); 

    $file = $this->upload($request); 
    $article->image = $file; 

    Auth::user()->articles()->save($article); 
    Session::flash('message', 'Wpis został dodany!'); 
    return redirect('articles'); 
} 
+1

POst錯誤不是圖片的錯誤 – RiggsFolly

+0

???????????????? – chmod

+0

你對這兩個事件(創建和更新)使用了相同的表單嗎?你可以在這裏發佈你的表單進行調試嗎? –

回答

0

我剛剛拿到了這個問題,它使用Input::all代替$request對象固定的,是這樣的:

$data = Input::all(); 
if(isset($data['image'])) { 
    ... // Do your thing 
} 

好像有與request助手/類和UploadedFile任何問題當你PUT,而不是純POST

乾杯!! ...