全。我正在努力学习Laravel,我正在努力上传一张图片。我得到以下错误:
“调用非对象上的成员函数getClientOriginalName()”
我正在使用这些软件包:
"anahkiasen/former": "dev-master",
"intervention/image": "dev-master",
"intervention/imagecache": "2.*"
在使用SO之后,我已经验证了以下内容并没有造成上述错误:
我的表格是:
<form enctype="multipart/form-data" accept-charset="utf-8" class="form-horizontal" id="create_form" method="POST" action="/elements">
<div class="control-group"><label for="img[]" class="control-label">Upload Image</label><div class="controls"><input multiple="true" class="myclass" accept="image/gif|image/jpeg|image/png" id="img[]" type="file" name="img[]"></div></div>
<div class="form-actions"><input class="btn-large btn-primary btn" type="submit" value="Submit"> <input class="btn-large btn-inverse btn" type="reset" value="Reset"></div>
<input type="hidden" name="_token" value="B0AJ0Y5LMrMng6CsePeZfNSvRQ0KexowOGTK99Gm">
</form>
生成错误的代码是:
$image = Input::file('img');
$filename = $image->getClientOriginalName();
print_($filename);
如果我使用以下方法打印出对象:
print_r($image);
我明白:...then:
Array
(
[0] => Symfony\Component\HttpFoundation\File\UploadedFile Object
(
[test:Symfony\Component\HttpFoundation\File\UploadedFile:private] =>
[originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => storageunit.jpg
[mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg
[size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 8734
[error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
[pathName:SplFileInfo:private] => /tmp/php9AU1OE
[fileName:SplFileInfo:private] => php9AU1OE
)
)
所有这些在我看来都是正确的,所以我很困惑。
如果有人对下一步的尝试有任何想法的话,我将非常感谢你的帮助。
发布于 2014-12-12 21:56:00
看看印出来的东西。$image
是一个对象数组,而不是一个对象。尝试:
$filename = $image[0]->getClientOriginalName();
发布于 2014-12-12 21:59:58
哈!
“文件”而不是“文件”
{{
Former::file('img')
->label('Upload Image')
->class('myclass')
->accept('gif', 'jpg', 'png');
}}
发布于 2017-04-21 06:32:47
对我来说,唯一的问题是文件上传实体所要求的类文件丢失了。
我加了这段代码就成功了,
使用照明\Http\UploadedFile;
https://stackoverflow.com/questions/27452716
复制相似问题