2017-09-13 19 views
-2

画像をアップロードします。 私はこれのためのコードを書いた...しかし、この写真は全くデータベースに追加されていません。そして、ちょうど "else"が実行されます。ファイルと写真をアップロードしてデータベースに追加する方法

public function store(Request $request){ 
    //Get Request Input 
    $name  = $request ->input('name'); 
    $description = $request ->input('description'); 
    $cover_image = $request ->file('cover_image'); 
    $owner_id = 1; 
    //Check Image Upload 
    if($cover_image) 
    { 

    $cover_image_filename = $cover_image -> getClientOriginalName(); 
    $cover_image -> move(public_path('images'), $cover_image_filename); 
    } 

else{ 
     $cover_image_filename = 'noimage.jpg'; 
    } 
    //Insert Gallery 
DB::table('galleries')-> insert(
    [ 
     'name'    => $name, 
     'description'  => $description, 
     'cover_image'  => $cover_image_filename, 
     'owner_id'   => $owner_id 
    ] 
); 
    //Redirect 
    return \Redirect::route('gallery.index') -> with('message', 'Gallery Created'); 
}` 

何が間違っていますか?

+0

'$ request - > file( 'cover_image')'は、0またはいくつかの偽の値を返します。 goこのファイル機能についてのドキュメントを確認してください –

+0

またはあなたのHTML部分に誤字があります... MCVEを提供 –

+0

はい..私は知っています。しかし、私はなぜか分からない –

答えて

0

1)あなたは、フィールドname="cover_image"

2でフォームでenctype="multipart/form-data"<input type="file">を追加したことを確認してください)あなたのlaravel publicフォルダにimagesという名前の新しいフォルダを作成します。あなたのcontroller

public function store(Request $request){ 
    //Get Request Input 
    $name = $request ->input('name'); 
    $description = $request ->input('description'); 
    $owner_id = 1; 

    //Check Image Upload 
    if($request->hasFile('cover_image')) { 

     $cover_image = $request->file('cover_image'); 
     $path = public_path(). '/images/'; 

     $cover_image_filename = $cover_image->getClientOriginalName(); 
     $cover_image->move($path, $cover_image_filename); 
    } 

    else{ 

     $cover_image_filename = 'noimage.jpg'; 
    } 

    //Insert Gallery 
    DB::table('galleries')-> insert([ 
     'name'    => $name, 
     'description'  => $description, 
     'cover_image'  => $cover_image_filename, 
     'owner_id'   => $owner_id 
    ]); 

    //Redirect 
    return \Redirect::route('gallery.index') -> with('message', 'Gallery Created'); 

} 

3)は、それが便利だと思います。

+0

はい 私はこれらのことを以前にやったことがあります。 今変更したこのコードを実行しました。 しかし結果は変わらなかった。 –

+0

結果は変更されていませんか? –

+0

イメージはデータベースに追加されず、「else」のみが実行され、データベースに「noimage」が追加されます –

関連する問題