2017-09-13 62 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或某個falsy值。去檢查關於這個文件功能的文檔 –

+0

或者你可能在你的HTML部分有一個錯字...提供一個MCVE –

+0

是的..我..知道。但是..我不知道爲什麼 –

回答

0

1)確保你已經在你的形式加入enctype="multipart/form-data",並與現場name="cover_image"

2)創建您的laravel public文件夾命名爲images一個新的文件夾<input type="file">

3)在您的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'); 

} 

希望這是有幫助的。

+0

是的 我以前做過這些事情。 我已經完成了你現在改變的這段代碼。 但結果沒有改變。 –

+0

什麼結果沒有改變? –

+0

圖像不會被添加到數據庫中,只執行「else」並且「noimage」將被添加到數據庫中 –

相關問題