Python如何向SQLServer存储二进制图片
作者:淋哥 时间:2021-01-06 08:23:54
需求是需要用python往 SqlServer中的image类型字段中插入二进制图片
核心代码,研究好几个小时的代码:
安装pywin32,adodbapi
image_url = "图片链接"
try:
image_result = session.get(url=image_url, headers=headers, stream=True)
except:
image_result = session.get(url=image_url, headers=headers, stream=True)
local_filename = md5(image_url) + ".png"
print "图片下载成功"
with open(local_filename, 'wb') as f:
for chunk in image_result.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
f.flush()
f.close()
# 读取图片,二进制格式,注意是rb
f1 = open(local_filename, "rb", )
b = f1.read()
f1.close()
# adodbapi支持插入二进制数据流
Cfg = {'server': 'XXXXXXX9', 'password': 'XXXXXXX', 'db': 'XXXXXXX'}
constr = "Provider=SQLOLEDB.1; Initial Catalog=%s; Data Source=%s; user ID=%s; Password=%s; " % (Cfg['db'], Cfg['server'], 'drc_sql', Cfg['password'])
conn = adodbapi.connect(constr)
cursor = conn.cursor()
print "DocId", DocId
# docimageid在数据表是主键
docimageid = str(DocId) + str(image_location)
print "docimageid", docimageid
sql6 = " INSERT INTO docImages (DocId,docimageid,purpose) VALUES (%s,'%s','%s') " % (int(DocId), int(docimageid), 'doclogo')
# print sql6
cursor.execute(sql6)
conn.commit()
#插入图片
cursor.execute('update docImages set Img=? where docimageid= ? ',(adodbapi.Binary(b), docimageid,))
conn.commit()
print "图片保存成功"
先插入相关信息,再去update图片到数据库里面。
来源:https://www.cnblogs.com/xuchunlin/p/12850189.html
标签:Python,SQL,Server,二进制,图片
0
投稿
猜你喜欢
python实现巡检系统(solaris)示例
2022-03-01 20:32:11
vue文本识别"\\n"换行问题的解决方式
2024-05-09 10:51:43
虚拟环境及venv和virtualenv的区别说明
2021-07-07 09:19:51
基于Python3中运算符 **和*的区别说明
2023-12-17 02:22:06
利用Python实现简单的Excel统计函数
2021-09-27 09:21:09
在SQL Server中处理空值时涉及的三个问题
2009-02-05 15:30:00
教你使用python画一朵花送女朋友
2023-01-04 21:12:26
Python入门Anaconda和Pycharm的安装和配置详解
2022-12-21 20:25:07
Python中.py文件打包成exe可执行文件详解
2023-06-10 19:11:00
Python图片批量自动抠图去背景的代码详解
2022-11-30 17:20:39
asp IsValidEmail 验证邮箱地址函数(email)
2011-03-03 10:42:00
用Python逐行分析文件方法
2022-07-10 10:17:49
Ajax编程之旅第一站:HTTP请求
2008-08-07 12:55:00
python实现Virginia无密钥解密
2023-07-25 10:56:49
浅谈Python 钉钉报警必备知识系统讲解
2023-11-13 15:14:38
Python求矩阵的范数和行列式
2023-05-01 19:54:49
sql数据库批量处理脚本
2011-11-03 17:23:19
Python实现的json文件读取及中文乱码显示问题解决方法
2022-05-18 16:41:15
python数字图像处理图像的绘制详解
2022-05-29 07:33:49
Python编程OpenCV和Numpy图像处理库实现图片去水印
2023-10-10 15:12:44