新聞中心
小編給大家分享一下MongoDB存入圖片的方法,相信大部分人都還不怎么了解,因此分享這邊文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!

創(chuàng)新互聯(lián)主營(yíng)鳳陽(yáng)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,App定制開發(fā),鳳陽(yáng)h5小程序開發(fā)搭建,鳳陽(yáng)網(wǎng)站營(yíng)銷推廣歡迎鳳陽(yáng)等地區(qū)企業(yè)咨詢
利用mongodb保存圖片通常有兩種方法,一種是將圖片數(shù)據(jù)轉(zhuǎn)化為二進(jìn)制作為字典的鍵值對(duì)進(jìn)行保存,另一種是利用mongodb提供的
GridFS進(jìn)行保存,兩者各有利弊。
GridFS
GridFS將圖片數(shù)據(jù)與圖片屬性數(shù)據(jù)分開保存,用chunks來(lái)保存圖片數(shù)據(jù),files保存屬性數(shù)據(jù),一個(gè)圖片file可能對(duì)應(yīng)多個(gè)chunks,每個(gè)
chunk的內(nèi)存大小固定(16M),若圖片數(shù)據(jù)大于chunk,則分為多個(gè)chunk保存,用同一個(gè)ObjectID關(guān)聯(lián),下載時(shí)自動(dòng)將多個(gè)chunk合
并為圖片數(shù)據(jù)。
bson二進(jìn)制
這種方法將圖片數(shù)據(jù)作為鍵值對(duì)放入字典與屬性數(shù)據(jù)作為整體存入數(shù)據(jù)庫(kù)中。
上傳代碼如下
from bson import binary
from pymongo import MongoClient
client = MongoClient('127.0.0.1', 27017) #連接mongodb
db = client.photo #連接對(duì)應(yīng)數(shù)據(jù)庫(kù)
image_collection = db.images
data = requests.get(dic["photo_url"], timeout=10).content
# 確認(rèn)數(shù)據(jù)庫(kù)中不存在此圖片之后再保存
if not image_collection.find_one({"photo_url":dic["photo_url"]})
dic["imagecontent"] = binary.Binary(data)
image_collection.insert(dic)1234567891011以上是mongodb存入圖片的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章標(biāo)題:mongodb存入圖片的方法
鏈接分享:http://www.dlmjj.cn/article/jceceo.html


咨詢
建站咨詢
