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 help()函数用法详解
Mar 11 Python
初步探究Python程序的执行原理
Apr 11 Python
举例讲解Python中的身份运算符的使用方法
Oct 13 Python
Python生成密码库功能示例
May 23 Python
利用python模拟sql语句对员工表格进行增删改查
Jul 05 Python
python3之模块psutil系统性能信息使用
May 30 Python
python os.path模块常用方法实例详解
Sep 16 Python
python 中如何获取列表的索引
Jul 02 Python
Pytoch之torchvision.transforms图像变换实例
Dec 30 Python
python pptx复制指定页的ppt教程
Feb 14 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
May 26 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
Sep 04 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
coreseek 搜索英文的问题详解
2013/06/08 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
2019/03/22 PHP
关于laravel 子查询 & join的使用
2019/10/16 PHP
Javascript 去除数组的重复元素
2010/05/04 Javascript
Js判断CSS文件加载完毕的具体实现
2014/01/17 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
基于jQuery实现复选框是否选中进行答题提示
2015/12/10 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
AngularJS入门教程之模块化操作用法示例
2016/11/02 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
js模块加载方式浅析
2017/08/12 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
2020/12/07 Javascript
python 文件与目录操作
2008/12/24 Python
python进阶教程之循环对象
2014/08/30 Python
Python获取Linux系统下的本机IP地址代码分享
2014/11/07 Python
Python中编写ORM框架的入门指引
2015/04/29 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
Python基于高斯消元法计算线性方程组示例
2018/01/17 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
django 多数据库及分库实现方式
2020/04/01 Python
python 模拟登陆163邮箱
2020/12/15 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
英国电器零售商:PRC Direct
2018/06/21 全球购物
给排水工程师岗位职责
2013/11/21 职场文书
实习自我评价怎么写
2013/12/02 职场文书
2013年军训通讯稿
2014/02/05 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书