2017-03-01 118 views
0

首先Laravel項目不定值。我建立了一個可以上傳圖片的功能。一切我所做的是基於this PDF(頁98-101)Laravel:在圖片上傳

我blade.php

<?php echo Form::open(array('url' =>'/product/imgedit','files'=>'true')); 
echo 'Adj meg egy új képet'; 
echo Form::file('image'); 
echo Form::submit('Upload File'); 
echo Form::close();?> 

我的路由器

Route::get('product/{id}/imgedit', '[email protected]'); 
Route::post('product/imgedit', '[email protected]'); 

我的控制器:

public function imgreq($id) 
{ 
    $product = DB::select('select * FROM inventory WHERE barcode = ?', [$id]);; 

    return view('productimgupl', ['product' => $product]); 
} 

public function imgupl() 
{ 
    $file = $request->file('image'); 
    //Display File Name 
    echo 'File Name: ' . $file->getClientOriginalName(); 
    echo '<br>'; 
    //Display File Extension 
    echo 'File Extension: ' . $file->getClientOriginalExtension(); 
    echo '<br>'; 
    //Display File Real Path 
    echo 'File Real Path: ' . $file->getRealPath(); 
    echo '<br>'; 
    //Display File Size 
    echo 'File Size: ' . $file->getSize(); 
    echo '<br>'; 
    //Display File Mime Type 
    echo 'File Mime Type: ' . $file->getMimeType(); 
    //Move Uploaded File 
    $destinationPath = '/media/productimg/'; 
    $file->move($destinationPath, $file->getClientOriginalName()); 
} 

錯誤消息:

ErrorException在InventoryController.php線28:未定義的變量: 要求

我做了什麼錯?

回答

1

你需要在你的方法的參數的Request對象帶來。像這樣:

public function imgupl(Request $request) { 
// code... 
} 

然後你可以在方法使用$request

默認情況下,當您使用php artisan make:controller時,Laravel將此類添加到控制器的頂部,並使用以下行:use Illuminate\Http\Request;。所有你做的是鑄造Request對象爲在該方法使用名爲$request變量。

希望這會有所幫助!

+0

謝謝你,它的工作:) – Feralheart

+0

沒問題。樂意效勞。 – Mark