hermes 初始配置
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
---
|
||||
name: bulk-image-download-upload
|
||||
title: 批量图片下载和上传工作流程
|
||||
description: 从网络搜索获取图片,批量下载到本地,然后上传到文件存储服务(如Seafile)的完整工作流程
|
||||
category: media-publisher
|
||||
---
|
||||
|
||||
# 批量图片下载和上传工作流程
|
||||
|
||||
## 适用场景
|
||||
|
||||
当需要从网络搜索获取大量图片,下载到本地后批量上传到文件存储服务时使用。
|
||||
|
||||
## 工作流程
|
||||
|
||||
### 1. 图片搜索和下载
|
||||
|
||||
**方法A:直接下载(推荐)**
|
||||
```bash
|
||||
# 使用wget批量下载图片
|
||||
cd /tmp
|
||||
wget -O image1.jpg "图片URL1" && wget -O image2.jpg "图片URL2" && ...
|
||||
```
|
||||
|
||||
**方法B:浏览器自动化(备选)**
|
||||
- 使用浏览器导航到图片搜索页面
|
||||
- 点击图片获取大图链接
|
||||
- 使用browser_get_images获取图片信息
|
||||
- 注意:可能遇到超时或API限制问题
|
||||
|
||||
### 2. 文件上传
|
||||
|
||||
**Seafile上传(推荐)**
|
||||
```bash
|
||||
# 使用现有的Seafile上传脚本
|
||||
bash /path/to/seafile_upload.sh /本地文件路径 [目标文件名]
|
||||
|
||||
# 批量上传循环
|
||||
for i in {1..N}; do
|
||||
echo "上传文件$i"
|
||||
bash /path/to/seafile_upload.sh /tmp/file${i}.jpg
|
||||
done
|
||||
```
|
||||
|
||||
**其他上传方式(备选)**
|
||||
- 使用curl直接上传到其他文件存储服务
|
||||
- 使用Python脚本处理复杂的上传逻辑
|
||||
|
||||
### 3. 验证和清理
|
||||
|
||||
```bash
|
||||
# 验证文件是否下载成功
|
||||
ls -lh /tmp/*.jpg
|
||||
|
||||
# 清理临时文件(可选)
|
||||
trash /tmp/*.jpg
|
||||
```
|
||||
|
||||
## 关键技巧
|
||||
|
||||
1. **优先使用直接下载**:当浏览器自动化遇到问题时,直接下载图片更可靠
|
||||
2. **批量处理**:使用循环处理多个文件,提高效率
|
||||
3. **错误处理**:检查每个步骤的输出,确保操作成功
|
||||
4. **文件格式**:注意不同服务的图片格式要求
|
||||
|
||||
## 常见问题解决
|
||||
|
||||
- **浏览器超时**:切换到直接下载方法
|
||||
- **API限制**:使用本地工具替代
|
||||
- **认证失败**:检查上传脚本中的认证信息
|
||||
- **文件损坏**:重新下载或检查网络连接
|
||||
|
||||
## 最佳实践
|
||||
|
||||
1. 下载前创建临时目录
|
||||
2. 下载后立即验证文件完整性
|
||||
3. 上传前检查文件大小和格式
|
||||
4. 记录每个文件的上传状态
|
||||
5. 完成后清理临时文件
|
||||
|
||||
## 工具链
|
||||
|
||||
- 终端(bash)- 核心工具
|
||||
- wget - 图片下载
|
||||
- Seafile上传脚本 - 文件存储
|
||||
- ls, trash - 文件管理
|
||||
|
||||
## 适用平台
|
||||
|
||||
- Seafile(推荐)
|
||||
- 其他支持curl上传的文件存储服务
|
||||
- 本地文件管理
|
||||
|
||||
## 输出格式
|
||||
|
||||
- 下载文件:/tmp/文件名.扩展名
|
||||
- 上传确认:返回文件哈希或上传链接
|
||||
- 完成状态:成功/失败报告
|
||||
Reference in New Issue
Block a user