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 相关文章推荐
详解Django中的ifequal和ifnotequal标签使用
Jul 16 Python
批处理与python代码混合编程的方法
May 19 Python
Python用imghdr模块识别图片格式实例解析
Jan 11 Python
Python中将变量按行写入txt文本中的方法
Apr 03 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
Flask模板引擎之Jinja2语法介绍
Jun 26 Python
使用turtle绘制五角星、分形树
Oct 06 Python
numpy 声明空数组详解
Dec 05 Python
python3连接MySQL8.0的两种方式
Feb 17 Python
python删除某个目录文件夹的方法
May 26 Python
PyCharm2020.3.2安装超详细教程
Feb 08 Python
Python pyecharts绘制条形图详解
Apr 02 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获取linux服务器状态的代码
2014/05/27 PHP
php+js实现异步图片上传实例分享
2014/06/02 PHP
php中error与exception的区别及应用
2014/07/28 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
flexigrid 参数说明
2010/11/23 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
2018/11/07 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
写了个监控nginx进程的Python脚本
2012/05/10 Python
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
python模块导入的细节详解
2018/12/10 Python
python代码编写计算器小程序
2020/03/30 Python
python实现通过flask和前端进行数据收发
2019/08/22 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
怎样比较两个类型为String的字符串
2016/08/17 面试题
函数指针的定义是什么
2016/08/14 面试题
运动会广播稿100字
2014/01/11 职场文书
《花木兰》教学反思
2014/04/09 职场文书
普通党员整改措施
2014/10/24 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
担保书范文
2019/07/09 职场文书
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers