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解析xml文件实例分析
May 27 Python
python3 拼接字符串的7种方法
Sep 12 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
May 10 Python
使用 Django Highcharts 实现数据可视化过程解析
Jul 31 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
简单了解为什么python函数后有多个括号
Dec 19 Python
python使用QQ邮箱实现自动发送邮件
Jun 22 Python
python中np是做什么的
Jul 21 Python
django跳转页面传参的实现
Sep 17 Python
Python进行特征提取的示例代码
Oct 15 Python
全网最详细的PyCharm+Anaconda的安装过程图解
Jan 25 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编程语言开发动态WAP页面
2006/10/09 PHP
discuz的php防止sql注入函数
2011/01/17 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
js 图片等比例缩放代码
2010/05/13 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
js函数的延迟加载实现代码
2012/10/11 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
2013/12/13 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
vue.js的安装方法
2017/05/12 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
python求crc32值的方法
2014/10/05 Python
Python实现豆瓣图片下载的方法
2015/05/25 Python
Django中使用locals()函数的技巧
2015/07/16 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
python 回溯法模板详解
2020/02/26 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
倩碧英国官网:Clinique英国
2018/08/10 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
就业协议书的作用
2014/04/11 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
留学推荐信怎么写
2015/03/26 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS
Python中的协程(Coroutine)操作模块(greenlet、gevent)
2022/05/30 Python