Laravel:在图片上传
问题描述:
首先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:未定义的变量: 要求
我做了什么错?
答
你需要在你的方法的参数的Request
对象带来。像这样:
public function imgupl(Request $request) {
// code...
}
然后你可以在方法使用$request
。
默认情况下,当您使用php artisan make:controller
时,Laravel将此类添加到控制器的顶部,并使用以下行:use Illuminate\Http\Request;
。所有你做的是铸造Request
对象为在该方法使用名为$request
变量。
希望这会有所帮助!
谢谢你,它的工作:) – Feralheart
没问题。乐意效劳。 – Mark