laravel判断上传文件类型大小及尺寸分辨率

平时上传需要判断文件的类型大小及尺寸分辨率

写起来非常不优雅

如何用requests来验证

以下为方法

```
'required|file|mimes:jpeg,bmp,png,gif|max:1024|dimensions:width=800,height=600',
];
}

public function attributes()
{
return [
'file'=>'上传文件',
];
}

}

```

以下为常规的方法

```
public function upload(Request $request){
if (!$request -> hasFile('file')) {
return $this->jsonError('请上传图片');
}
$file = $request->file('file');
$tmpfile = $file->getRealPath();
$file_size = getimagesize($tmpfile);
if(!$file_size){
return $this->jsonError('图片格式不正确');
}
if($file->getSize() > 1024000){
return $this->jsonError('图片大小不得超过1M');
}
$ext = $file->getClientOriginalExtension();
if(!file_exists("uploads")){
mkdir("uploads");
}
$dir_y = "uploads/".date('Y');
if(!file_exists($dir_y)){
mkdir($dir_y);
}
$dir_m = $dir_y."/".date('m');
if(!file_exists($dir_m)){
mkdir($dir_m);
}
$dir_d = $dir_m."/".date('d');
if(!file_exists($dir_d)){
mkdir($dir_d);
}
$filename = uniqid().".".$ext;
$file->move($dir_d,$filename);
$data['filename'] = "http://".$_SERVER['HTTP_HOST']."/".$dir_d."/".$filename;
return $this->jsonData($data);
}
```

    A+
发布日期:2022年10月06日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: