平时上传需要判断文件的类型大小及尺寸分辨率
写起来非常不优雅
如何用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);
}
```