擅长:python、mysql、java
<p>我再次测试,发现无法成功打开上传到附件Rest API返回的url。因此,上传时图像已损坏</p>
<p>请尝试使用<code>bytearray(image_file.read())</code>将图像转换为<strong>字节数组</p>
<p>请替换<code><></code>的值</p>
<pre><code>import requests
import base64
from io import BytesIO
pat = 'xxx'
authorization = str(base64.b64encode(bytes(':'+pat, 'ascii')), 'ascii')
url = 'https://dev.azure.com/<org_name>/<image_name>/_apis/wit/attachments?fileName=<filename.bmp>&api-version=6.0'
headers = {
'Content-Type': 'application/octet-stream',
'Authorization': 'Basic '+authorization
}
#upload to attachment
with open("<image_path>", "rb") as image_file:
# base64 doesn't work well
# encoded_data = base64.b64encode(image_file.read())
# decoded_data = encoded_data.decode()
# data = "[" + decoded_data + "]"
data = bytearray(image_file.read())
r = requests.post(url, data=data,
headers=headers)
print(r.text)
#connect wit with attachment
......
</code></pre>