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发送HTTP请求的方法小结
Jul 08 Python
python数据预处理之将类别数据转换为数值的方法
Jul 05 Python
Python3编程实现获取阿里云ECS实例及监控的方法
Aug 18 Python
利用python将图片转换成excel文档格式
Dec 30 Python
python得到电脑的开机时间方法
Oct 15 Python
python实现爬山算法的思路详解
Apr 09 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
Sep 07 Python
Python模拟登录之滑块验证码的破解(实例代码)
Nov 18 Python
python 实现多维数组转向量
Nov 30 Python
Python运行异常管理解决方案
Mar 09 Python
keras在构建LSTM模型时对变长序列的处理操作
Jun 29 Python
Python urllib3软件包的使用说明
Nov 18 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自定义hash函数实例
2015/05/05 PHP
微信支付的开发流程详解
2016/09/13 PHP
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
2013/10/22 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
JavaScript判断浏览器类型的方法
2015/02/10 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
axios学习教程全攻略
2017/03/26 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
Python Web开发模板引擎优缺点总结
2014/05/06 Python
对于Python的框架中一些会话程序的管理
2015/04/20 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
Python解析多帧dicom数据详解
2020/01/13 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
python 对xml解析的示例
2021/02/27 Python
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
英国独特礼物想法和个性化礼物网站:notonthehighstreet.com
2018/04/16 全球购物
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
毕业生物理教师求职信
2013/10/17 职场文书
中专生自荐信
2014/06/25 职场文书
电子信息工程专业求职信
2014/06/28 职场文书
催款律师函范文
2015/05/27 职场文书
大学生村官入党自传
2015/06/26 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
Python Django搭建文件下载服务器的实现
2021/05/10 Python
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS