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中wx将图标显示在右下角的脚本代码
Mar 08 Python
python写的ARP攻击代码实例
Jun 04 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 Python
python 为什么说eval要慎用
Mar 26 Python
人工神经网络算法知识点总结
Jun 11 Python
python函数局部变量、全局变量、递归知识点总结
Nov 15 Python
python 实现检验33品种数据是否是正态分布
Dec 09 Python
Python+OpenCV实现将图像转换为二进制格式
Jan 09 Python
Python continue语句实例用法
Feb 06 Python
Python 实现黑客帝国中的字符雨的示例代码
Feb 20 Python
tensorflow2.0的函数签名与图结构(推荐)
Apr 28 Python
python 常见的反爬虫策略
Sep 27 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 register_globals 值为on与off的理解
2013/09/26 PHP
php语法检查的方法总结
2019/01/21 PHP
php中数组最简单的使用方法
2020/12/27 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
jQuery 表单验证扩展代码(一)
2010/10/11 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
非常优秀的JS图片轮播插件Swiper的用法
2017/01/03 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
微信小程序 实现点击添加移除class
2017/06/12 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
利用ES6实现单例模式及其应用详解
2017/12/09 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
2019/08/27 jQuery
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
python实现简单加密解密机制
2019/03/19 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
Python Web程序搭建简单的Web服务器
2019/07/31 Python
python字符串下标与切片及使用方法
2020/02/13 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
办理信用卡工作证明
2014/01/11 职场文书
创意广告词
2014/03/17 职场文书
罗马假日观后感
2015/06/08 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
apache ftpserver搭建ftp服务器
2022/05/20 Servers
SQLServer常见数学函数梳理总结
2022/08/05 MySQL