python有什么工具包可以将图片转为image数据类型?

新手上路,请多包涵

SQL server中有数据类型image;
我使用python连接SQL server数据库,想要把图片以image类型存储到数据库。
目前我在网上找到两种转化为二进制数据流的方法,分贝是opencv和base64。
其中opencv转化的二进制数据流可以存储到数据库,但是我在aspx文件,web页面上无法显示图片。
使用base64则直接无法存储到数据库。
我想求助,还有没有其他的方法将图片以image 二进制数据流的方法存储到数据库。
还有image数据格式的标准字节流是什么样的;
我用base64的结果是这样的:
b'$R\x05\x1cq1\x89\xf3\x0co]\xa2TU\xa2\x9d\xda0\xb0\xf8h\xb6\x81\x1d\x8a\xda+\xd7M5\xd3Mu\xd7\xad\xfc\xe1h\xa7v\x8c,>\x1a-\xa0Gb\xb6\x8a\xf5\xd3Mt\xd3]u\xeb\x7f8\xdbM\xb4\xd3\xbdy\xd7\x8e5\xd7\xdd;\xdf\xbd\xf6\xd3m4\xef^u\xdf\x9d\xf9\xefm6\xd3N\xf5\xe7]\xf9\xdf\x9e\xc2\xefMx\xe3\x8f'

数据库报错信息为:
图片.png
代码为:

import pymssql
import base64


url = "C:/Users/13490/Pictures/timg.jpg"

fp = open(url, "rb")
img = fp.read()
img1 = base64.b64decode(img)
fp.close()

conn = pymssql.connect(
    host='localhost',
    server='**********',
    port='1433',
    user='sa',
    password='*********',
    database='dn')
cursor = conn.cursor()

sql = "insert into Image(image) values ('%s'); COMMIT" % (img1)
cursor.execute(sql)
cursor.close()
conn.close()

阅读 3.3k
1 个回答

应该base64就可以。$R 这个字符不属于base64的格式,解决这个问题就可以.
ps:为什么会有把图片存到数据库的需求,感觉不是很合理。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题