tp6 单图片上传和多图片上传
作者:互联网
/** * 单文件上传接口 * @param Request $request * @return \think\response\Json */ public function logo(Request $request): Json { // 接收上传的类型 $type = $request->post("type"); // 接收文件上传 $file = $request->file(); // 设定文件上传的大小 $fileSize = 1024*1024*2; // 验证文件上传的大小、后缀 try { // 验证文件大小、后缀 validate(['logo'=>'fileSize:'.$fileSize.'|fileExt:jpg,png']) ->check($file); $files = $request->file("logo"); // 将图片保存至本地 $saveName = \think\facade\Filesystem::putFile($type, $files); // 将文件上传的路径返回 return success('uploads/' . $saveName); } catch (\think\exception\ValidateException $e) { return fail($e->getMessage()); } }
/**
* 批量上传图片
* @param Request $request
* @return Json
*/
public function images(Request $request): Json
{
// 接收上传的类型
$type = $request->post("type", "goods");
// 接收文件上传
$file = $request->file("images");
// 设定文件上传的大小
$fileSize = 1024 * 1024 * 2;
// 存储上传失败的信息
$error = [];
// 存储上传成功的信息
$success = [];
// 循环批量验证
foreach ($file as $val) {
// 捕获异常
try {
// 验证文件大小、后缀
validate(['images' => 'fileSize:' . $fileSize . '|fileExt:jpg'])
->check(['images' => $val]);
// 上传文件
$saveName = \think\facade\Filesystem::putFile($type, $val);
// 将成功后的路径保存到数组中
$success = 'uploads/' . $saveName;
} catch (\think\exception\ValidateException $e) {
// 记录验证错误的失败信息
$error= [
'name' => $val->getOriginalName(),
'msg' => $e->getMessage()
];
}
}
// 组装返回数据的结果集
$data = [
'success' => $success,
'error' => $error
];
// 返回数据
return success($data);
}
标签:success,上传,request,tp6,fileSize,file,type,图片 来源: https://www.cnblogs.com/shaoxiong12/p/15665645.html