【问题标题】:Call to a member function getClientOriginalName() on a non-object with intervention Laravel通过干预 Laravel 在非对象上调用成员函数 getClientOriginalName()
【发布时间】:2018-11-27 16:28:03
【问题描述】:

我在编写函数时遇到问题。当我尝试更新文件图像时,getClientOriginalName(). 中出现错误

调用数组上的成员函数getClientOriginalName()

<?php

/**
 * Upload File.
 *
 * @param array $input
 * @return array $input
 */
public function uploadImg($input)
{
    if (isset($input['featured_image']) && !empty($input['featured_image'])) {
        $avatar = $input['featured_image'];
        $fileName = time() . $avatar->getClientOriginalName();
        $this->storage->put($this->upload_path . $fileName, file_get_contents($avatar->getRealPath()));
        $path = 'posts_images/' . $fileName;
        $input = array_merge($input, ['featured_image' => $path]);
    } elseif (isset($input['img']) && !empty($input['img'])) {
        $avatar = $input['img'];
        $fileName = time() . $avatar->getClientOriginalName();
        $this->storage->put($this->upload_path . $fileName, file_get_contents($avatar->getRealPath()));
        $path = 'posts_images/' . $fileName;
        $input = array_merge($input, ['img' => $path]);
    }

    return $input;
}

【问题讨论】:

  • $avatar 变量是一个数组,因此您必须在使用getClientOriginalName() 函数之前对其进行迭代

标签: php laravel laravel-filesystem


【解决方案1】:

试试下面几行

public function uploadImg(Request $request){

  $request->file('featured_image')->getClientOriginalName();
}

$file = Input::file('featured_image');
$file->getClientOriginalExtension(); 
$file->getClientOriginalName();

Input::file('featured_image')->getClientOriginalExtension();

查看文档的this section

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 2013-12-01
    • 1970-01-01
    • 2015-02-11
    • 2018-04-03
    • 2020-04-15
    相关资源
    最近更新 更多