user(); if (! $user instanceof WechatUser) { abort(403, '仅微信用户可上传'); } if ($early = $this->ensurePublicDiskReady()) { return $early; } if (! $request->hasFile('file')) { return response()->json(['message' => '未收到文件'], 422); } $uploaded = $request->file('file'); if (! $uploaded->isValid()) { return response()->json(['message' => $uploaded->getErrorMessage()], 422); } try { $stored = $this->storeUploadedFileAsUniqueName($uploaded, 'uploads/h5', 5120); } catch (ValidationException $e) { throw $e; } catch (Throwable $e) { report($e); Log::error('h5_upload_putfile_failed', [ 'message' => $e->getMessage(), 'public_path' => storage_path('app/public'), ]); return response()->json([ 'message' => '文件保存失败', 'detail' => config('app.debug') ? $e->getMessage() : null, ], 500); } return response()->json([ 'url' => url('/storage/'.$stored['path']), 'path' => $stored['path'], ]); } }