在非对象上调用成员函数getClientOriginalName()

时间:2015-10-15 22:09:27

标签: laravel

    $video_file = Input::file('video_file');
    $original_name = $video_file[0]->getClientOriginalName();

不确定为什么,但第二行给了我一个错误。

这是我的表格:

    <li>
        {{Form::label('video_title', 'Title')}}
        {{Form::text('video_title')}}


    </li>
    <li>
        {{Form::label('video_body', 'Body')}}
        {{Form::textarea('video_body')}}


    </li>
    <li>
        {{Form::label('video_file', 'Choose a video')}}
        {{Form::file('video_file')}}

    </li>
    <li>
        {{Form::submit('Submit', array('class'=>'primary-btn'))}}
        {{Form::close()}}
    </li>

我的表单似乎工作正常,显然与调用方法getClientOriginalName()的对象有关。我试过没有[0],但我得到同样的东西。

POST Data
_token  F3TJRaqVy9kRDbFyLqrue0mfpNvUzQjRr0Um6GjW
video_title     gfffffffffff
video_body  gfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgf
video_file  01 - Introduction.mp4

我在我的PHP.ini文件中将上传大小和帖子大小设置为400M,我认为它应该可行。我需要上传包还是什么?我认为该方法是vanilla PHP的原生方法。

1 个答案:

答案 0 :(得分:1)

{{Form::file('video_file')}}未声明为数组(例如:{{Form::file('video_file[]')}}),因此您必须在不$video_file->getClientOriginalName();的情况下以[0]的形式访问它。

<强>更新

确保在files设置为true的情况下打开表单。 Form::open([...'files' => true ])