Invalid param: {"detail":"Failed to load image: Unsupported URL format: C:/Users...

2025年11月27日 10:58 状态: processing

🚨 错误信息

Invalid param: {"detail":"Failed to load image: Unsupported URL format: C:/Users/win11/Desktop/***.png"}

🤖 AI解决方案

错误翻译

原文:Failed to load image: Unsupported URL format: C:/Users/win11/Desktop/***.png
译文:加载图片失败:不支持的URL格式:C:/Users/win11/Desktop/***.png

原因分析
该错误发生在图片加载过程中,系统无法识别Windows本地文件路径格式作为有效的URL。常见的图像处理库期望的是标准的HTTP/HTTPS URL格式,而不是操作系统特定的文件路径。

解决方案
根据具体使用场景,有以下几种解决方案:

方案1:转换为文件URL格式(推荐)

import urllib.parse
from pathlib import Path

# 原始路径
file_path = "C:/Users/win11/Desktop/***.png"

# 转换为文件URL格式
file_url = Path(file_path).as_uri()
# 结果:file:///C:/Users/win11/Desktop/***.png

方案2:使用文件读取方式

# 直接读取文件内容
with open("C:/Users/win11/Desktop/***.png", "rb") as f:
    image_data = f.read()

# 或者使用PIL库
from PIL import Image
image = Image.open("C:/Users/win11/Desktop/***.png")

预防措施

  • 路径标准化:在处理文件路径时,始终使用pathlibos.path库进行路径操作和格式转换

  • URL验证:在传递URL参数前,添加格式验证逻辑,确保URL符合预期格式要求


from urllib.parse import urlparse

def is_valid_url(url):
    try:
        result = urlparse(url)
        return all([result.scheme, result.netloc]) or url.startswith('file://')
    except:
        return False