Python如何向SQLServer存储二进制图片


Posted in Python onJune 08, 2020

需求是需要用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图片到数据库里面。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
通过实例浅析Python对比C语言的编程思想差异
Aug 30 Python
PyCharm在win10的64位系统安装实例
Nov 26 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
Feb 21 Python
Python实现的多进程拷贝文件并显示百分比功能示例
Apr 09 Python
解决Python使用列表副本的问题
Dec 19 Python
Python字符串的修改方法实例
Dec 19 Python
Pytorch Tensor 输出为txt和mat格式方式
Jan 03 Python
python求一个字符串的所有排列的实现方法
Feb 04 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
Mar 09 Python
Python数据相关系数矩阵和热力图轻松实现教程
Jun 16 Python
python 如何调用远程接口
Sep 11 Python
pytorch交叉熵损失函数的weight参数的使用
May 24 Python
python求numpy中array按列非零元素的平均值案例
Jun 08 #Python
Python过滤掉numpy.array中非nan数据实例
Jun 08 #Python
使用Python FastAPI构建Web服务的实现
Jun 08 #Python
python爬虫把url链接编码成gbk2312格式过程解析
Jun 08 #Python
给ubuntu18安装python3.7的详细教程
Jun 08 #Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
Jun 08 #Python
使用Numpy对特征中的异常值进行替换及条件替换方式
Jun 08 #Python
You might like
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
package.json文件配置详解
2017/06/15 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
vue项目中导入swiper插件的方法
2018/01/30 Javascript
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python语言使用技巧分享
2016/05/31 Python
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
浅谈html5 响应式布局
2014/12/24 HTML / CSS
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
药学专业大学生自荐信
2013/09/28 职场文书
高三语文教学反思
2014/01/15 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
挂职自我鉴定
2014/02/26 职场文书
节约用水倡议书
2014/04/16 职场文书
党的生日演讲稿
2014/09/10 职场文书
银行职员工作失误检讨书
2014/10/14 职场文书
董事长年会致辞
2015/07/29 职场文书
56句经典英文座右铭
2019/08/09 职场文书