【问题标题】:Laravel: Undefined value on image uploadLaravel:图像上传的未定义值
【发布时间】:2017-03-02 04:01:59
【问题描述】:

第一个 Laravel 项目。我构建了一个可以上传图像的功能。我所做的一切都是基于this PDF(第98-101页)

我的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', 'InventoryController@imgreq');
Route::post('product/imgedit', 'InventoryController@imgupl');

我的控制者:

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());
}

错误信息:

InventoryController.php 第 28 行中的 ErrorException:未定义变量: 请求

我做错了什么?

【问题讨论】:

    标签: php laravel laravel-5 laravel-5.3


    【解决方案1】:

    您需要在方法的参数中引入Request 对象。像这样:

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

    那么你可以在方法中使用$request

    默认情况下,当你使用 php artisan make:controller 时,Laravel 会包含这个类,方法是将它插入到控制器的顶部,并使用以下行:use Illuminate\Http\Request;。您所做的只是将Request 对象转换为一个名为$request 的变量,以便在该方法中使用。

    希望这会有所帮助!

    【讨论】:

    • 没问题。很高兴能提供帮助。
    猜你喜欢
    • 1970-01-01
    • 2020-11-07
    • 2016-03-11
    • 2015-11-25
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    相关资源
    最近更新 更多