user(); if (! $user instanceof WechatUser) { abort(403, '仅微信用户可上传'); } if (!$request->hasFile('file')) { return response()->json(['message' => '未收到文件'], 422); } $uploaded = $request->file('file'); if (!$uploaded->isValid()) { return response()->json(['message' => $uploaded->getErrorMessage()], 422); } $data = $request->validate([ 'file' => ['required', 'file', 'max:5120', 'mimes:jpg,jpeg,png,gif,webp'], ]); try { $path = Storage::disk('public')->putFile('uploads/h5', $data['file']); } catch (Throwable $e) { report($e); return response()->json(['message' => '文件保存失败'], 500); } if ($path === false) { return response()->json(['message' => '文件保存失败'], 500); } $safePath = str_replace('\\', '/', $path); return response()->json([ 'url' => url('/storage/'.$safePath), 'path' => $path, ]); } }