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,二进制,图片
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
详解Django-auth-ldap 配置方法
2023-05-16 14:50:17
Python常见数据结构之栈与队列用法示例
2023-11-03 20:58:10
python中的tkinter库弹窗messagebox详解
2023-11-12 04:02:05
![](https://img.aspxhome.com/file/2023/5/64625_0s.png)
“你帮我把这个做成这个样子!”—当我听到这句话
2009-04-16 12:57:00
Python Django 母版和继承解析
2023-02-21 09:44:59
![](https://img.aspxhome.com/file/2023/6/76016_0s.png)
html注释所引起的一系列问题
2008-11-04 13:23:00
![](https://img.aspxhome.com/file/UploadPic/200811/4/1011310-54s.gif)
JavaScript事件委托技术实例分析
2023-07-01 01:18:23
17个asp常用的正则表达式
2008-01-15 18:58:00
Python-jenkins模块获取jobs的执行状态操作
2022-07-29 14:15:09
![](https://img.aspxhome.com/file/2023/9/70809_0s.jpg)
python 执行shell命令并将结果保存的实例
2023-07-27 20:34:52
CSS3中的box-sizing属性
2010-04-05 21:52:00
![](https://img.aspxhome.com/file/UploadPic/20104/5/20090424070002186-44s.png)
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2023-07-10 09:12:19
php 查找数组元素提高效率的方法详解
2023-11-15 02:51:08
django框架如何集成celery进行开发
2022-09-13 11:18:24
![](https://img.aspxhome.com/file/2023/4/67784_0s.png)
在ASP应用程序中加入智能搜索
2007-09-18 13:15:00
IE及Opera浏览器兼容笔记
2008-08-21 17:53:00
详解Python中的Lock和Rlock
2023-08-11 18:35:20
搜索结果页(SERP)之:不要被F型浏览忽悠了
2009-09-07 12:34:00
![](https://img.aspxhome.com/file/UploadPic/20099/7/jakob-nielsen-58s.jpg)
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2023-12-14 19:33:23
YOLOv5在图片上显示统计出单一检测目标的个数实例代码
2023-07-20 18:08:42
![](https://img.aspxhome.com/file/2023/8/62298_0s.png)