【问题标题】:laravel upload image getClientOriginalExtension() on nulllaravel 上传图片 getClientOriginalExtension() on null
【发布时间】:2016-09-06 02:12:34
【问题描述】:

您好,当我没有在输入字段中选择任何图像时出现以下错误:Call to a member function getClientOriginalExtension() on null

如何避免这种情况,以及如何检查输入文件字段是否为空,以免使用以下代码遇到此错误?

$imageName = rand(11111, 99999) . '.' . $request->file('image')->getClientOriginalExtension();
$destinationPath = 'events';
$upload_success = $request->file('image')->move($destinationPath, $imageName);

【问题讨论】:

    标签: image laravel upload null


    【解决方案1】:

    $image = $value->file('照片');

    $img_name=md5(time().rand()).'.'.$image->getClientOriginalExtension(); $image->move(public_path('images'),img_name);

    【讨论】:

    • 您好,欢迎您。作为您答案的一部分,解释此代码的作用以及为什么它解决了 OP 的问题会很有用。此外,您的代码与已经接受的答案有何不同?乍一看,它似乎在重复相同的基本指导?
    【解决方案2】:

    您应该首先使用hasFile() 方法检查请求中是否包含您要操作的文件:

    if ($request->hasFile('image')) {
        $imageName = rand(11111, 99999) . '.' . $request->file('image')->getClientOriginalExtension();
        $destinationPath = 'events';
        $upload_success = $request->file('image')->move($destinationPath, $imageName);
    }
    

    请参阅有关 handling uploaded files 的 Laravel 文档

    【讨论】:

      猜你喜欢
      • 2016-09-04
      • 2019-09-21
      • 1970-01-01
      • 1970-01-01
      • 2018-07-30
      • 2021-12-31
      • 2015-06-05
      • 2021-03-20
      • 1970-01-01
      相关资源
      最近更新 更多