Python如何向SQLServer存儲二進制圖片
更新時間:2020年06月08日 10:09:14 作者:淋哥
這篇文章主要介紹了Python如何向SQLServer存儲二進制圖片,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
需求是需要用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支持插入二進制數(shù)據(jù)流 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在數(shù)據(jù)表是主鍵 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圖片到數(shù)據(jù)庫里面。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
詳解pytorch中squeeze()和unsqueeze()函數(shù)介紹
這篇文章主要介紹了詳解pytorch中squeeze()和unsqueeze()函數(shù)介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09Python實現(xiàn)遍歷子文件夾并將文件復制到不同的目標文件夾
這篇文章主要介紹了如何基于Python語言實現(xiàn)遍歷多個子文件夾,將每一個子文件夾中大量的文件,按照每一個文件的文件名稱的特點復制到不同的目標文件夾中,感興趣的可以了解下2023-08-08對pandas的算術運算和數(shù)據(jù)對齊實例詳解
今天小編就為大家分享一篇對pandas的算術運算和數(shù)據(jù)對齊實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12