2017-08-09 6 views
0

私はLaravelを使用して郵便配達員からリクエストファイルを取得していますが、Laravelは投稿したファイルを識別できません。次は私のコードです:Laravel:nullのメンバー関数store()への呼び出し

namespace App\Http\Controllers; 
use App\Product; 
use Illuminate\Http\Request; 

class ProductImageController 
{ 
public function update(Request $request, $id) 
    { 
     $path = $request->file('file')->store('images'); 
     $product = Product::find($id); 
     $product->img_url = $path; 
     return $product->save() ? 
      response(["error_code" => 0, $product]) : 
      response(["error_code" => 1]); 
    } 
} 

Postman request

enter image description here

+0

HTMLコードを貼り付けることはできますか?フォームのmultipart = "form/data"属性を忘れてしまった、または入力名のスペルが間違っていると思います。 – tete0148

+1

@ tete0148郵便配達要求です。 OPの質問 – Thamilan

+0

を読んでください。ファイルのサイズがPHPのアップロードサイズ制限を超えていないことを確認してください。また、 'Content-Type'ヘッダを削除してみてください。 – patricus

答えて

0

は、明示的な内容には注意してください、あなたの方法にこれを追加し、エラーがあるかどうかを確認し、フォームデータは郵便配達で選択されているかどうかを確認します-Typeヘッダー。より良い - 値を設定しないでください、郵便配達員はあなたのためにこのヘッダーを埋めるほどスマートです。あなたはContent-Typeの設定したい場合は、: - :

if ($request->hasFile('file')) { 
      $product->img_url = $request->file('file')->store('images'); 
     } 

と詳細マルチパート/フォームデータを、私はあなたがこれを試すことができると思いboudaryフィールド:

public function update(Request $request, $id) 
{ 
    $this->validate($request, [ 
     'file' => 'required|file' 
    ]); 
... 
0

を忘れないでくださいこれに従ってくださいlink

希望はあなたのためにこの作品!

関連する問題