我有一个用于图像上传的表单字段,我使用"file"=> true 打开它,如下所示:
{{ Form::label('image', 'Image') }}
{{ Form::file('image') }}
在我的 Controller 中,我想检查文件是否已上传并对其进行处理:
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] =>
)
我已经用另一张用户的另一张图片进行了测试,效果很好。我不明白为什么这对某些用户有效而对其他一些用户无效。
是否有某种图片不被接受?
还有哪些其他来源可能是导致此问题的原因?
最佳答案
我解决了错误。
代码没问题,但问题是有些图片太大了。
编辑:
正如 Don't Panic 指出的那样,编辑 upload_max_filesize
可以解决问题。
关于php - Laravel Input::hasFile ('image' ) 即使文件已上传也返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25929197/