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

91 lines
2.5 KiB
Markdown
Raw Normal View 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 配置
```yaml
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. **重新编译后端**
```bash
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