laravel 在 null 时上传图片 getClientOriginalExtension()

laravel upload image getClientOriginalExtension() on null

您好,当我没有 select 输入字段中的任何图像时,出现以下错误: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);

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

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

请参阅 Laravel 有关 handling uploaded files

的文档

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

$img_name=md5(time().rand()).'.'.$image->getClientOriginalExtension(); $图像->移动(public_path('images'),img_name);