laravel上传图片getClientOriginalExtension()为null

时间:2016-05-10 22:02:04

标签: image laravel upload null

您好我没有在输入字段中选择任何图片时出现以下错误:Call to a member function getClientOriginalExtension() on null

如何避免这种情况,以及如何检查输入文件字段是否为空,以便我不会使用以下代码遇到此错误?

$imageName = rand(11111, 99999) . '.' . $request->file('image')->getClientOriginalExtension();
$destinationPath = 'events';
$upload_success = $request->file('image')->move($destinationPath, $imageName);

2 个答案:

答案 0 :(得分:1)

您应首先使用hasFile()方法检查请求是否包含您要操作的文件:

if ($request->hasFile('image')) {
    $imageName = rand(11111, 99999) . '.' . $request->file('image')->getClientOriginalExtension();
    $destinationPath = 'events';
    $upload_success = $request->file('image')->move($destinationPath, $imageName);
}

请参阅有关handling uploaded files

的Laravel文档

答案 1 :(得分:0)

$ image = $ value-> file('photo');

$ img_name = md5(time()。rand())。'。'。$ image-> getClientOriginalExtension(); $ image-> move(public_path('images'),img_name);