这个问题最初在搜索时似乎很常见,但大多数答案都与打开的表单中缺少'files' => true'
有关。
所以我的表单有一个典型的图片上传。如果我不首先检查输入,那么一切正常:
$logo = Input::file('logo');
$logoName = time() . $logo->getClientOriginalName();
$logo->move(public_path() . '/logos/', $logoName);
$user->logo = $logoName;
$user->save();
没问题。图像和文件名都上传/保存。但是,当我首先检查徽标是否存在时,它会跳过,因为徽标显然是null
。
if(Input::has('logo')
{
$logoName = time() . $logo->getClientOriginalName();
$logo->move(public_path() . '/logos/', $logoName);
$user->logo = $logoName;
$user->save();
}
奇怪的是,当我死/转时它显示为null尽管还显示徽标是这样的:
dd(Input::all(), Input::has('logo'));
返回:
array (size=4)
'_token' => string 'pVuQrFqOPNPJgIhU3kUxRuQQqjsqMrBu5LOhLxJH' (length=40)
'username' => string 'tinak' (length=5)
'location' => string 'Kuala Lumpur' (length=12)
'logo' =>
object(Symfony\Component\HttpFoundation\File\UploadedFile)[9]
private 'test' => boolean false
private 'originalName' => string 'logo8.png' (length=9)
private 'mimeType' => string 'image/png' (length=9)
private 'size' => int 14315
private 'error' => int 0
boolean false
答案 0 :(得分:0)