2017-02-07 14 views
0

私は、nullエラーでstore()を返すことを送信するたびにイメージをアップロードしようとしています。私はフォームをenctype = "multipart/form-data"に設定しましたが、これは助けにはなりませんでした。null-laravelのメンバ関数store()を呼び出してください。5.4

誰でも正しい方向に向けることができますか?

ありがとうございました。解決

<form action="/imgupload" method="POST" enctype="multipart/form-data"> 
    {{ csrf_field() }} 
    <div class="form-group"> 
    <label for="imgUpload1">File input</label> 
    <input type="file" id="imgUpload1"> 
    </div> 
    <button type="submit" class="btn btn-primary">Submit</button> 
</form> 

:入力フィールドに

+1

にこのコードを追加必要とする私に代わって – Adam

+0

はまあ...それは愚かだ何のname属性を持っていません。ありがとう! – Erasersharp

+1

それは愚かではない、新鮮な目はすべてが必要だった:) – Adam

答えて

1

を名札を欠落したデータは、常にで欠落しているname属性を持つフェッチさ以下コントローラ

public function store(Request $request){ 

    $file = $request->file('imgUpload1')->store('images'); 
    return back(); 

} 

フォーム内

機能あなたのフォーム入力

変更 <input type="file" id="imgUpload1">

<input type="file" id="imgUpload1" name = "imgUpload1">

へとお店の関数はからあなたのリクエストからのファイルを見ていないので、あなたがエラーを取得しているこの

$val - \Validator:make($request->all ,[ 
    'imgUpload1' => 'required', 
]) 

if($val->fails(){ 
    return redirect()->back()->with('message' => 'No file received'); 
}) 
else{ 
    $file = $request->file('imgUpload1')->store('images'); 
    return redirect()->back(); 
} 
0

のようなコントローラ側でいくつかの検証を行います入力タグはこのセットを修正するために、私が下で行った "名前"を

<form action="/imgupload" method="POST" enctype="multipart/form-data"> 
    {{ csrf_field() }} 
    <div class="form-group"> 
    <label for="imgUpload1">File input</label> 
    <input type="file" id="imgUpload1" name="imgUpload1"> 
    </div> 
    <button type="submit" class="btn btn-primary">Submit</button> 
</form> 
0

はあなたのコントローラ

if ($request->file('imgUpload1') == null) { 
    $file = ""; 
}else{ 
    $file = $request->file('imgUpload1')->store('images'); 
} 
関連する問題