国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > MongoDB > mongodb如何存储图片

mongodb如何存储图片

头像

爱喝马黛茶的安东尼

2019-11-30 11:19:463295浏览 · 0收藏 · 0评论

一、GridFS

GridFS将图片数据与图片属性数据分开保存,用chunks来保存图片数据,files保存属性数据,一个图片file可能对应多个chunks,每个chunk的内存大小固定(16M),若图片数据大于chunk,则分为多个chunk保存,用同一个ObjectID关联,下载时自动将多个chunk合并为图片数据。

上传

from pymongo import MongoClient
from gridfs import *
import requests
client = MongoClient('127.0.0.1', 27017) #连接mongodb
db = client.photo #连接对应数据库
#db.authenticate("username","passowd")
fs = GridFS(db, collection="images") #连接collection
data = requests.get(dic["photo_url"], timeout=10).content
# 确认数据库中不存在此图片之后再保存
if not fs.find_one({"photo_url":dic["photo_url"]}):
    fs.put(data, **dic)
# 上传成功后,photo数据库下出现两个collection,分别为: images.files, images.chunks12345678910111213

下载

from pymongo import MongoClient
from gridfs import *
client = MongoClient('127.0.0.1', 27017) #连接mongodb
db = client.photo #连接对应数据库
#db.authenticate("username","passowd")
fs = GridFS(db, collection="images") #连接collection
num = 1
for grid_out in fs.find(no_cursor_timeout=True):
    data = grid_out.read() # 获取图片数据
    outf = open('/home/%d.jpg'%num,'wb')
    outf.write(data) #存储图片
    outf.close()
    if num%100000 == 0
        metadata_file = open("/home/metadata%d.csv"%(num/100000+1), "ab")
        csv_writer = csv.writer(metadata_file,delimiter='\t')
    row = [grid_out.photo_title.encode('utf-8'), grid_out.uploadDate, grid_out.upload_date, \
        grid_out.longitude, grid_out.latitude, grid_out.width, grid_out.height,\
        grid_out.owner_name.encode('utf-8'), grid_out.photo_id, grid_out._id, grid_out.photo_url]
    csv_writer.writerow(row)12345678910111213141516171819

二、bson二进制

这种方法将图片数据作为键值对放入字典与属性数据作为整体存入数据库中。

上传代码如下:

from bson import binary
from pymongo import MongoClient
client = MongoClient('127.0.0.1', 27017) #连接mongodb
db = client.photo #连接对应数据库
image_collection = db.images
data = requests.get(dic["photo_url"], timeout=10).content
# 确认数据库中不存在此图片之后再保存
if not image_collection.find_one({"photo_url":dic["photo_url"]})
    dic["imagecontent"] = binary.Binary(data)
    image_collection.insert(dic)1234567891011

python学习网,大量的免费MongoDB入门教程,欢迎在线学习!

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

美国禁忌6 结局| 同学的母亲中字ID| 公憩止痒小说原著叫什么名字| 两阳夹一阴与其他强势形态的比较| 欧美人动物PPT免费模板大全| 日本大片又大又好看的PPT| 瑜伽馆里的私密按摩效果怎么样| 《妻子为丈夫升职》| 坤坤寒进桃子里在线看歌词| 一品国精和二品国精的文化意义 | 两个男人睡一个女人什么心理呢| 在电影院里拨开内裤挺进| 快拨出我是你母亲的歌曲播放| 《从上司到妻子》动画结局| 儿媳妇陪我睡觉的经典句子| EXO妈妈MV高清视频播放| 欧美大片PPT| 肉多荤文高H羞耻玩弄校园| 日韩| 暴躁少女CSGO高清大图特点| SNH48欧洲码和亚洲码图片| 免费B站看大片真人电视剧| 一线产区和二线产区的品牌定位| 《女家教》完整版免费观看| 战马在线观看| 男生困困进女生困困洞视频| 狗配人的大片视频大全| 伦理《少妇的滋味》完整版| 公交车被上高湖了还能坐吗小说 | 鲁鲁影院免费观看电视剧电影| 白丝脚上的浓浓的精华液能用吗| 妻子的秘密韩剧大全免费| 香蕉榴莲丝瓜草莓黄瓜歌词| 《特别酒店》免费观看| 狗配人的大片| 少女配狗视频大全播放| 夜童| 宋在临| 《父承子液》笔趣阁免费阅读| 胸前两个球跳舞视频大全| 女生把球球给男生抓的视频