You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

vectorizer.io API批量图片矢量化Bash脚本报错求助及优化需求

问题解决与脚本优化

错误原因分析

curl错误(26) Failed to open/read local data from file/application核心原因是原脚本无法处理带空格、特殊字符的文件名:用for file in $(find ...)遍历结果时,空格会被当作分隔符,把单个文件名拆分成多个变量,导致curl找不到正确的文件路径。其次需确认API_CREDITS_CODE是否已正确填充。

修复后支持多格式的脚本

#!/bin/bash

# 填写你的vectorizer.io API凭证码
API_CREDITS_CODE="你的凭证码"

# 设置图片目录
DIRECTORY="/Users/User/Desktop/folderofimages"

# 遍历所有常见图片格式:gif/jpg/png/bmp/webp/tiff等
find "$DIRECTORY" -type f \( -iname "*.gif" -o -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.bmp" -o -iname "*.webp" -o -iname "*.tiff" \) | while IFS= read -r file; do
    # 生成不带扩展名的输出文件名
    filename="${file%.*}"
    
    # 跳过不存在的文件(如无效符号链接)
    if [ ! -f "$file" ]; then
        echo "跳过无效文件: $file"
        continue
    fi

    echo "正在处理: $file"
    # 调用API转换图片
    curl --http1.1 -H "Expect:" --header "X-CREDITS-CODE: $API_CREDITS_CODE" \
        "https://api.vectorizer.io/v4.0/vectorize" \
        -F "image=@$file" \
        -F "format=svg" \
        -F "colors=0" \
        -F "model=auto" \
        -F "algorithm=auto" \
        -F "details=auto" \
        -F "antialiasing=off" \
        -F "minarea=5" \
        -F "colormergefactor=5" \
        -F "unit=auto" \
        -F "width=0" \
        -F "height=0" \
        -F "roundness=default" \
        -F "palette=" \
        -o "${filename}.svg"

    # 输出处理结果
    if [ $? -eq 0 ]; then
        echo "处理完成: ${filename}.svg"
    else
        echo "处理失败: $file"
    fi
done

关键优化点

  • 改用while IFS= read -r file循环读取find结果,完美兼容带空格、特殊字符的文件名,彻底解决curl(26)错误。
  • 添加-type f参数,确保只处理文件,排除目录和无效符号链接。
  • 扩展图片格式匹配范围,覆盖常见的gif/jpg/png/bmp/webp/tiff等格式,如需新增格式,只需在find的括号内添加-o -iname "*.格式"。
  • 增加文件有效性检查和curl执行结果判断,方便快速定位问题。

注意事项

  1. 必须先在API_CREDITS_CODE中填入你的凭证码,可在vectorizer.io的「Api Settings」页面获取。
  2. 如果需要调试请求细节,可在curl命令中添加-vvv参数查看完整日志。

内容的提问来源于stack exchange,提问作者CeramicMonster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 13:05:17