使用OpenKM API获取图片出现黑框问号问题求助
从OpenKM API获取图片显示黑框问号的解决方法
问题描述
使用OpenKM进行文档管理,通过API获取图片后,图片显示黑框问号(如图所示):
已查阅相关问题但未解决,当前使用的Python请求代码如下:
url = "http://ipaddress/aa18be7a5/hhhhhggg.png" payload={} headers = {'Internal-Key':"gjffhddsgsgdfgkhkhggdgsfd"} response = requests.request("GET", url, headers=headers, data=payload) return response.text
问题原因
核心错误是用response.text返回图片内容:text会把响应内容按字符编码解析成字符串,而图片属于二进制文件,这种处理会破坏原始字节结构,导致图片无法正常解码,最终出现黑框问号。
解决方案
把return response.text替换为return response.content,content会直接返回响应的二进制字节数据,完整保留图片的原始信息:
url = "http://ipaddress/aa18be7a5/hhhhhggg.png" payload={} headers = {'Internal-Key':"gjffhddsgsgdfgkhkhggdgsfd"} response = requests.request("GET", url, headers=headers, data=payload) return response.content
额外说明
- 如果要将图片保存到本地,可添加这段代码:
with open('downloaded_image.png', 'wb') as f: f.write(response.content)
- 如果是在网页中展示图片,可将二进制数据转换为Base64格式后嵌入页面。
内容的提问来源于stack exchange,提问作者Naqib007
相关产品推荐
相关产品推荐

