2.5 KiB
2.5 KiB
name, title, description, category
| name | title | description | category |
|---|---|---|---|
| bulk-image-download-upload | 批量图片下载和上传工作流程 | 从网络搜索获取图片,批量下载到本地,然后上传到文件存储服务(如Seafile)的完整工作流程 | media-publisher |
批量图片下载和上传工作流程
适用场景
当需要从网络搜索获取大量图片,下载到本地后批量上传到文件存储服务时使用。
工作流程
1. 图片搜索和下载
方法A:直接下载(推荐)
# 使用wget批量下载图片
cd /tmp
wget -O image1.jpg "图片URL1" && wget -O image2.jpg "图片URL2" && ...
方法B:浏览器自动化(备选)
- 使用浏览器导航到图片搜索页面
- 点击图片获取大图链接
- 使用browser_get_images获取图片信息
- 注意:可能遇到超时或API限制问题
2. 文件上传
Seafile上传(推荐)
# 使用现有的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. 验证和清理
# 验证文件是否下载成功
ls -lh /tmp/*.jpg
# 清理临时文件(可选)
trash /tmp/*.jpg
关键技巧
- 优先使用直接下载:当浏览器自动化遇到问题时,直接下载图片更可靠
- 批量处理:使用循环处理多个文件,提高效率
- 错误处理:检查每个步骤的输出,确保操作成功
- 文件格式:注意不同服务的图片格式要求
常见问题解决
- 浏览器超时:切换到直接下载方法
- API限制:使用本地工具替代
- 认证失败:检查上传脚本中的认证信息
- 文件损坏:重新下载或检查网络连接
最佳实践
- 下载前创建临时目录
- 下载后立即验证文件完整性
- 上传前检查文件大小和格式
- 记录每个文件的上传状态
- 完成后清理临时文件
工具链
- 终端(bash)- 核心工具
- wget - 图片下载
- Seafile上传脚本 - 文件存储
- ls, trash - 文件管理
适用平台
- Seafile(推荐)
- 其他支持curl上传的文件存储服务
- 本地文件管理
输出格式
- 下载文件:/tmp/文件名.扩展名
- 上传确认:返回文件哈希或上传链接
- 完成状态:成功/失败报告