【发布时间】:2018-11-22 16:16:10
【问题描述】:
我从远程数据库中提取了一个 base64 编码的图像字符串,并尝试使用 base64.decode() 对其进行解码,但输出图像已损坏(图像大小只有几个字节甚至 0 字节) 代码是:
import pymssql
import base64
import os
con=pymssql.connect(user='**',
password='**',
database='**',
host='**')
cur=con.cursor()
cur.execute("SELECT PHOTOGRAPH_IMG FROM IHHL_DETAIL_IMG WHERE APPLICATION_ID='**';")
result=cur.fetchall() #tried fetchone() too
result=list(result) #to save the tuple returned as a list
print result[0]
cur.close()
con.close()
#I've tried various formats to decode, none work
#fh=open("img.jpeg","wb")
#fh.write(result[0].decode('base64'))
with open("imageToSave.png", "wb") as fh:
fh.write(base64.decode(result[0]))
fh.close()
【问题讨论】:
-
只需将内容添加为一行,缩进4个空格。顺便说一句,您现在可能想发布一个实际问题,以避免被否决或关闭。
-
我试过了,结果每个问题的字符限制是30000个字符,我的二进制文件有更多字符,我现在该怎么办?
-
在我看来,即使将 10% 的数据发布到一个问题中,也太过分了。我们可能不需要您确切的二进制数据来帮助您。
-
好的,所以我将编辑这个问题并将我的代码与问题一起发布?
-
请发表您的问题。 SO 主要针对通用解决方案,而不是使用您的特定数据的答案。
标签: python python-3.x python-2.7 base64 pymysql