peixue-dev/peidu/Archive/一次性文件/[一次性]图片上传远程模式配置-2026-01-26.md

2.5 KiB
Raw Blame History

图片上传远程模式配置

问题描述

用户在本地开发环境localhost:8089上传图片时返回的图片URL是错误的

  • 错误URL: http://localhost:8080/uploads/...
  • 应该是: https://px.ddn-ai.cloud/uploads/...

原因分析

配置文件 application.yml 中的上传模式设置为 local,导致:

  1. 文件保存到本地 C:/peidu-uploads/
  2. 返回的URL是本地地址 http://localhost:8089/uploads/...

但用户需求是:

  • 本地开发环境上传到远程服务器
  • 返回远程服务器的URL

解决方案

1. 修改 application.yml 配置

file:
  upload:
    # 上传模式改为 remote
    mode: remote
    # 远程上传接口地址
    remote:
      url: https://px.ddn-ai.cloud/api/file/upload/direct
      timeout: 30
    # 访问URL前缀改为远程地址
    url-prefix: https://px.ddn-ai.cloud/uploads/

2. 工作流程

远程上传模式流程:

前端 → 本地后端(8089) → 远程服务器(px.ddn-ai.cloud)
                ↓
        通过HTTP POST上传文件到远程
                ↓
        远程服务器保存文件并返回URL
                ↓
        本地后端返回远程URL给前端

3. 远程服务器要求

远程服务器必须部署并启用 /api/file/upload/direct 接口:

  • 接收文件上传
  • 保存到 /www/wwwroot/px.ddn-ai.cloud/Image/
  • 返回可访问的URL: https://px.ddn-ai.cloud/uploads/文件名

4. 部署步骤

  1. 重新编译后端

    cd peidu/backend
    mvn clean package -DskipTests
    
  2. 重启本地后端服务

    • 停止当前运行的后端
    • 重新启动(会自动加载新配置)
  3. 测试上传

    • 在管理后台上传图片
    • 检查返回的URL是否为 https://px.ddn-ai.cloud/uploads/...

注意事项

  1. 远程服务器必须可访问:确保 https://px.ddn-ai.cloud 可以正常访问
  2. 远程接口必须部署/api/file/upload/direct 接口必须在远程服务器上运行
  3. 网络连接:本地环境需要能够访问远程服务器
  4. 超时设置:如果网络较慢,可以增加 timeout

配置对比

配置项 本地模式 远程模式
mode local remote
文件保存位置 C:/peidu-uploads/ 远程服务器
url-prefix http://localhost:8089/uploads/ https://px.ddn-ai.cloud/uploads/
适用场景 本地测试 开发环境连接生产服务器

日期

2026-01-26