peixue-dev/peidu/Archive/一次性文件/[一次性]图片上传配置修复-2026-01-25.md

2.9 KiB
Raw Permalink Blame History

图片上传配置修复

问题描述

用户反馈看到旧的图片URL格式

  • http://localhost:8080/uploads/images/2026/01/08/xxx.png
  • http://example.com/xxx.jpg

问题原因

  1. 数据库旧数据: 历史上传的图片使用旧URL格式不需要清理
  2. 配置缺失: application.yml 中缺少 file.upload.url 配置项
  3. 旧代码兼容: LearningRecordServiceImpl 中有旧的上传方法使用该配置

解决方案

1. 更新 application.yml

添加了 file.upload.url 配置项(兼容旧代码):

file:
  upload:
    mode: remote
    url-prefix: https://px.ddn-ai.cloud/uploads/  # 新系统使用
    url: https://px.ddn-ai.cloud/uploads           # 旧系统兼容

2. 当前上传流程

新上传系统(推荐使用):

小程序 
  → http://localhost:8089/api/file/upload (本地后端)
    → FileUploadService.uploadFile()
      → 远程上传到 https://px.ddn-ai.cloud/api/file/upload/direct
        → 保存到 /www/wwwroot/px.ddn-ai.cloud/Image/
        → 返回 https://px.ddn-ai.cloud/uploads/20260125_xxx.jpg

旧上传方法(已废弃,但保留兼容):

LearningRecordServiceImpl.uploadFile()
  → 使用 file.upload.url 配置
  → 返回 https://px.ddn-ai.cloud/uploads/xxx/xxx/xxx.jpg

验证步骤

1. 重启后端服务

# 停止旧进程
# 重新运行后端

2. 测试上传功能

  • 打开小程序陪伴员端
  • 进入签到页面
  • 上传一张图片
  • 检查返回的URL格式

3. 期望结果

返回的URL应该是

https://px.ddn-ai.cloud/uploads/20260125_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.jpg

配置说明

新系统配置(推荐)

  • 接口: /api/file/upload
  • Service: FileUploadService
  • 配置项: file.upload.url-prefix
  • URL格式: https://px.ddn-ai.cloud/uploads/20260125_xxx.jpg

旧系统配置(兼容)

  • 接口: 无Service内部方法
  • Service: LearningRecordServiceImpl.uploadFile()
  • 配置项: file.upload.url
  • URL格式: https://px.ddn-ai.cloud/uploads/images/20260125/xxx.jpg

注意事项

  1. 旧数据不影响: 数据库中的旧URL是历史数据不影响新上传
  2. 统一使用新接口: 建议所有上传都使用 /api/file/upload 接口
  3. 配置已兼容: 新旧系统配置都已正确设置

后续工作

根据 [一次性]小程序图片上传更新清单-2026-01-25.md,还需要更新以下页面使用新的上传工具:

高优先级:

  • 签退页面 (checkout.vue)
  • 成长记录创建 (record-create.vue)
  • 每日记录 (daily-record.vue)

中优先级:

  • 管理师申请 (apply.vue)
  • 陪伴员资料 (profile.vue)

低优先级:

  • 视频上传 (upload.vue)
  • 反馈创建 (create.vue)

完成状态

配置文件已更新 新上传系统已就绪 旧系统已兼容 等待重启后端测试 等待更新其他页面