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

Azure DevOps API图片上传成功但显示破碎白块求助

Azure DevOps API上传图片显示异常的解决办法

你通过POST请求调用Azure DevOps工作项附件API上传图片,请求地址为:
https://dev.azure.com/{organization}/{project}/_apis/wit/attachments?uploadType=Simple&fileName={filename}&api-version=5.0

请求头设置如下:

headers = {
    "Accept": "application/json",
    "Content-Size": str(os.path.getsize(file_path)),
    "Content-Type": "application/octet-stream",
}

请求返回成功且拿到图片链接,但图片显示为破碎的白色方块,可按以下步骤排查解决:

  • 校验Content-Size的准确性
    依赖os.path.getsize获取的磁盘文件大小可能和实际上传的内容长度不一致(比如文件读取前被修改)。建议读取文件内容后直接取内容长度作为Content-Size值:

    with open(file_path, 'rb') as f:
        file_content = f.read()
    headers["Content-Size"] = str(len(file_content))
    # 发送请求时使用file_content作为请求体
    
  • 确保上传的是原始二进制内容
    必须以二进制模式读取文件,且直接发送原始二进制数据,禁止将二进制内容转换为字符串后再上传,否则会导致文件损坏。

  • 尝试更新API版本
    当前使用的api-version=5.0可能存在兼容性问题,尝试更换为更高版本(如7.1-preview.3),修改URL中的api-version参数后重新测试。

  • 检查授权完整性
    确认请求头包含正确的Authorization字段,使用PAT令牌时格式应为:

    import base64
    pat_token = "你的PAT令牌"
    headers["Authorization"] = "Basic " + base64.b64encode(b":" + pat_token.encode()).decode()
    

    授权不完整可能导致文件上传不完整,进而显示异常。

  • 验证文件合规性
    Azure DevOps默认限制单个附件最大为100MB,若文件超出限制会导致上传不完整。同时确认图片格式为JPG、PNG等支持的类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 00:05:58