使用POST API向Azure DevOps添加图片时出现异常求助
解决Azure DevOps API添加图片到描述字段的异常问题
问题原因
你遇到的错误源于手动对图片URL中的冒号做URL编码(转成%3A),同时用%22替代双引号,导致Azure DevOps解析图片路径时识别到非法字符,触发请求路径错误。
正确步骤及代码示例
上传附件(保留现有操作)
调用POST接口上传图片附件,直接取用返回的原始图片URL(无需修改任何字符):POST https://dev.azure.com/{organization}/{project}/_apis/wit/attachments?api-version=7.1-preview.3接口返回的
url字段示例:https://dev.azure.com/myorg/myproject/_apis/wit/attachments/8c339e7d-a25e-4980-93bc-87fa2eaba43e?fileName=dssdfsdfsdf.png更新Work Item描述字段
使用PATCH接口更新Work Item的System.Description字段,HTML格式按常规写法编写,无需手动编码URL中的特殊字符:- 请求地址:
PATCH https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{workItemId}?api-version=7.1-preview.3 - 请求体(JSON Patch格式):
也可以改用单引号包裹[ { "op": "add", "path": "/fields/System.Description", "from": null, "value": "<div><img src=\"https://dev.azure.com/myorg/myproject/_apis/wit/attachments/8c339e7d-a25e-4980-93bc-87fa2eaba43e?fileName=dssdfsdfsdf.png\" alt=\"附件图片\"><br></div>" } ]src属性值,避免JSON中的双引号转义:[ { "op": "add", "path": "/fields/System.Description", "from": null, "value": "<div><img src='https://dev.azure.com/myorg/myproject/_apis/wit/attachments/8c339e7d-a25e-4980-93bc-87fa2eaba43e?fileName=dssdfsdfsdf.png' alt='附件图片'><br></div>" } ]
- 请求地址:
关键注意事项
- 直接使用上传附件接口返回的原始URL,不要手动编码URL中的任何字符(包括冒号
:)。 - JSON字符串中的双引号需用反斜杠
\转义,或用单引号包裹HTML属性值简化写法。 - 更新Work Item必须使用PATCH请求,而非上传附件的POST请求。
内容的提问来源于stack exchange,提问作者LosinChances
相关产品推荐
相关产品推荐

