4.8 KiB
4.8 KiB
七牛云上传测试步骤
前置条件
-
数据库配置已正确设置:
storage_type = 'qiniu'qiniu_region = 'z2'(华南)qiniu_bucket = 'yunzerwebsite'qiniu_domain = 'http://7colud.yunzer.cn'qiniu_access_key和qiniu_secret_key已配置
-
前端依赖已安装:
qiniu-js@^3.4.4✓ (已在 package.json 中)
-
后端服务已重启:
systemctl restart go-api
测试步骤
1. 登录系统
访问前端页面并登录:
- URL: https://platform.yunzer.cn
- 账号: hero920103
- 密码: 920103
2. 进入软件升级页面
导航到:平台管理 → 软件升级
3. 上传文件测试
点击"新增"或"编辑"按钮,在弹出的对话框中:
- 点击"上传软件包"按钮
- 选择一个文件(建议先用小文件测试,如 1-10MB)
- 观察上传进度条
- 等待上传完成
4. 验证上传结果
前端验证
- 检查是否显示上传成功消息
- 检查文件 URL 是否正确(应该是
http://7colud.yunzer.cn/...) - 检查文件是否可以预览/下载
后端日志验证
tail -f /www/wwwroot/api.yunzer.cn/go.log
查看日志中是否有:
GET /platform/storage/config- 获取存储配置GET /platform/qiniu/token- 获取上传凭证POST /platform/qiniu/save- 保存文件记录
七牛云控制台验证
- 登录七牛云控制台
- 进入
yunzerwebsite存储空间 - 检查文件是否已上传
- 文件路径格式应为:
2026/04/09/时间戳.扩展名
数据库验证
SELECT id, name, src, size, type, cate, md5, create_time
FROM system_file
ORDER BY id DESC
LIMIT 5;
检查:
src字段应该是完整的七牛云 URLmd5字段应该有值size字段应该正确
预期结果
成功标志
- 前端显示上传成功
- 文件 URL 格式正确:
http://7colud.yunzer.cn/2026/04/09/xxxxx.ext - 七牛云控制台能看到文件
- 数据库有对应记录
- 文件可以正常访问和下载
上传流程
前端 → 获取存储配置 (storageType: 'qiniu')
→ 获取上传凭证 (token, region: 'z2')
→ 直接上传到七牛云 (up-z2.qiniup.com)
→ 保存文件记录到数据库
→ 返回文件 URL
常见问题排查
问题 1: "incorrect region" 错误
错误信息:
xhr request failed, code: 400
response: {"error":"incorrect region, please use up-z2.qiniup.com, bucket is: yunzerwebsite"}
原因: 前端使用的区域与七牛云 bucket 实际区域不匹配
解决:
- 已修复:添加了
getQiniuRegion()函数,根据后端返回的 region 动态设置 - 后端返回
region: 'z2',前端会自动使用qiniu.region.z2
问题 2: "获取上传凭证失败"
可能原因:
- 未登录或 token 过期
- 存储配置未设置为七牛云
- 七牛云配置不完整
解决:
- 检查登录状态
- 检查数据库
system_storage_config表 - 确认 AccessKey 和 SecretKey 正确
问题 3: 上传后文件无法访问
可能原因:
- 七牛云域名配置错误
- 域名未绑定或未备案
- 文件权限设置问题
解决:
- 检查
qiniu_domain配置 - 登录七牛云控制台检查域名绑定
- 检查存储空间访问权限(应为公开)
问题 4: 大文件上传失败
可能原因:
- 网络超时
- 浏览器限制
解决:
- 七牛云 SDK 支持断点续传,会自动重试
- 检查网络连接
- 尝试分片上传(SDK 自动处理)
性能测试
小文件测试 (< 10MB)
- 预期时间:几秒内完成
- 不会分片上传
中等文件测试 (10MB - 100MB)
- 预期时间:根据网速,通常 1-2 分钟
- 可能会分片上传
大文件测试 (> 100MB)
- 预期时间:根据网速
- 会自动分片上传
- 支持断点续传
对比测试
旧方案(服务器中转)
100MB 文件上传时间:
- 上传到服务器:2 分钟
- 服务器上传到七牛云:2 分钟
- 总计:4 分钟
新方案(直传)
100MB 文件上传时间:
- 直接上传到七牛云:2 分钟
- 总计:2 分钟
效率提升: 50%
回滚方案
如果七牛云直传有问题,可以临时切换回本地存储:
UPDATE system_storage_config
SET storage_type = 'local'
WHERE id = 1;
前端会自动检测并使用本地上传方式(通过服务器中转)。
相关文件
platform/src/utils/qiniuUpload.js- 上传工具(已添加 getQiniuRegion 函数)go/controllers/qiniu_upload.go- 后端控制器platform/docs/七牛云直传配置.md- 详细配置文档
更新日期
2026-04-09