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

91 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 图片上传远程模式配置
## 问题描述
用户在本地开发环境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