forked from xianyu110/awesome-openclaw-tutorial
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupload_images.sh
More file actions
executable file
·77 lines (63 loc) · 1.84 KB
/
Copy pathupload_images.sh
File metadata and controls
executable file
·77 lines (63 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/bash
# 批量上传图片到图床的脚本
# API: https://upload.maynor1024.live/upload
# POST参数名: file
# JSON路径: 0.src
# URL前缀: https://upload.maynor1024.live
IMAGE_DIR="images/openclaw-guide"
OUTPUT_FILE="image_urls.txt"
API_URL="https://upload.maynor1024.live/upload"
URL_PREFIX="https://upload.maynor1024.live"
# 清空输出文件
> "$OUTPUT_FILE"
echo "开始上传图片..."
echo "图片目录: $IMAGE_DIR"
echo "输出文件: $OUTPUT_FILE"
echo ""
# 计数器
count=0
success=0
failed=0
# 遍历所有图片文件
for img in "$IMAGE_DIR"/*.{png,jpg,jpeg,gif,bmp}; do
# 检查文件是否存在
if [ ! -f "$img" ]; then
continue
fi
count=$((count + 1))
filename=$(basename "$img")
echo "[$count] 上传: $filename"
# 上传图片
response=$(curl -s -X POST "$API_URL" \
-F "file=@$img" \
-H "Accept: application/json")
# 检查响应
if [ $? -eq 0 ]; then
# 提取URL(假设返回JSON格式:[{"src": "url"}])
url=$(echo "$response" | grep -o '"src":"[^"]*"' | cut -d'"' -f4)
if [ -n "$url" ]; then
# 如果URL不是完整的,添加前缀
if [[ ! "$url" =~ ^http ]]; then
url="${URL_PREFIX}${url}"
fi
echo " ✓ 成功: $url"
echo "$filename|$url" >> "$OUTPUT_FILE"
success=$((success + 1))
else
echo " ✗ 失败: 无法解析URL"
echo " 响应: $response"
failed=$((failed + 1))
fi
else
echo " ✗ 失败: 上传错误"
failed=$((failed + 1))
fi
# 避免请求过快
sleep 0.5
done
echo ""
echo "上传完成!"
echo "总计: $count 张"
echo "成功: $success 张"
echo "失败: $failed 张"
echo "结果保存在: $OUTPUT_FILE"