/**
* 多文件上傳接口
*/
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);
}