我有一个用于图像上传的表单字段,我打开'files'=> true,如下所示:
{{ Form::label('image', 'Image') }}
{{ Form::file('image') }}
在我的控制器中,我想检查文件是否已上传并对其执行操作:
if (Input::hasFile('image')){
$in_path = 'img/';
$in_extension = Input::file('image')->getClientOriginalExtension();
$filename = Input::get('name').".".$in_extension;
Input::file('image')->move($in_path, $filename);
$user->image = $filename;
}
但 Input::hasFile
总是返回false,我不知道为什么 .
Input::file('image');
结果是:
Symfony\Component\HttpFoundation\File\UploadedFile Object
(
[test:Symfony\Component\HttpFoundation\File\UploadedFile:private] =>
[originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => test.JPG
[mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => application/octet-stream
[size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
[error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 1
[pathName:SplFileInfo:private] =>
[fileName:SplFileInfo:private] =>
)
I have tested around with another picture for another User and this works fine. I don't get why this is working for some Users and for some others not.
是否有某种图片不被接受?
还有哪些其他来源可能是导致这个问题的原因?
3 回答
你如何打开表格?如果您希望表单接受您需要的文件,请将其打开,如下所示:
Opening a form in the Laravel Docs
我解决了什么是错的 . 代码很好,但问题是一些图片只是很大 .
EDIT:
正如Do not Panic指出的那样,编辑
upload_max_filesize
可以解决问题 .我有同样的问题,我检查了我的代码并注意到我没有在表单中的enctype =“multipart / form-data” Headers ,希望这个大忽视帮助任何人