2017-08-11 46 views
1

我想上傳包含一些帖子的照片。Laravel 5 - 使用干預圖像包進行圖像上傳和調整大小

這是我的控制器

public function store(WisataRequest $request) 
{ 
    $input = $request->all(); 

    if ($request->hasFile('gambar')) { 
    $gambar = $request->file('gambar'); 
    $filename = time() . '.' . $gambar->getClientOriginalExtension(); 

    if ($request->file('gambar')->isValid()) { 
     Image::make($gambar)->resize(300, 300)->save(public_path('/upload/gambar/'.$filename)); 
     $input->gambar = $filename; 
     $input->save(); 
    } 
    } 

    $wisata = Wisata::create($input); 
    Session::flash('flash_message', 'Berhasil Terkirim'); 
    return redirect('admin_wisata'); 
} 

但是當它運行時,我發現了錯誤 嘗試分配非對象的屬性

+0

而這個錯誤是在哪一行? – ceejayoz

+0

WisataRequest是什麼?我認爲它只應該是'Request'。還在頂部聲明:'使用Illuminate \ Http \ Request;' –

+1

@YaShChaudhary這是一個建立在Request之上的用戶定義的請求。那完全沒問題。 – Wreigh

回答

0

變化$input訪問。圖片

$input->gambar = $filename; 
$input->save(); 

$input['gambar']= $filename; 
0

$input變量不是一個對象,它是一個數組。您可以嘗試做$input['gambar']

0

你應該這樣嘗試:

你可以把

$輸入[ 'gambar'] = $文件名;

而不是

$ input-> gambar = $ filename; $ input-> save();

OR

public function store(WisataRequest $request) 
{ 

    $wista = new Wista; 
    $wist->name = $request->name; 
    ----- 
    $wista->save(); 

    if ($request->hasFile('gambar')) { 
    $gambar = $request->file('gambar'); 
    $filename = time() . '.' . $gambar->getClientOriginalExtension(); 

    if ($request->file('gambar')->isValid()) { 
     Image::make($gambar)->resize(300, 300)->save(public_path('/upload/gambar/'.$filename)); 
     $wista->gambar = $filename; 
     $wista->save(); 
    } 


    } 


    Session::flash('flash_message', 'Berhasil Terkirim'); 
    return redirect('admin_wisata'); 
} 

希望這對你的工作!