2017-03-01 134 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