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函数装饰器用法实例详解
Jun 04 Python
python从入门到精通(DAY 2)
Dec 20 Python
Python模拟登录验证码(代码简单)
Feb 06 Python
Python3使用正则表达式爬取内涵段子示例
Apr 22 Python
python处理csv中的空值方法
Jun 22 Python
Python封装原理与实现方法详解
Aug 28 Python
pytorch 实现打印模型的参数值
Dec 30 Python
PyInstaller的安装和使用的详细步骤
Jun 02 Python
Django+RestFramework API接口及接口文档并返回json数据操作
Jul 12 Python
容易被忽略的Python内置类型
Sep 03 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
Nov 24 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 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实现邮件发送并带有附件
2014/01/24 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
2012/12/24 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
Nodejs实现批量下载妹纸图
2015/05/28 NodeJs
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
JS中图片压缩的方法小结
2017/11/14 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
vue设置导航栏、侧边栏为公共页面的例子
2019/11/01 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
vue祖孙组件之间的数据传递案例
2020/12/07 Vue.js
Python实现的RSS阅读器实例
2015/07/25 Python
python编码总结(编码类型、格式、转码)
2016/07/01 Python
pandas数据清洗,排序,索引设置,数据选取方法
2018/05/18 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
python实现在线翻译
2020/06/18 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
详解Django中异步任务之django-celery
2020/11/05 Python
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
会计专业大学生职业生涯规划书
2014/02/11 职场文书
大学专科自荐信
2014/06/17 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
财务人员岗位职责
2015/02/03 职场文书
水电工程师岗位职责
2015/02/13 职场文书
超市店长竞聘书
2015/09/15 职场文书