/**
* 多文件上传接口
*/
public function images(Request $request)
{
// 接收上传的类型
$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,png'])
->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);
}