国产成人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入门教程,欢迎在线学习!

关注

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

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

三陪| 我兄弟的妈妈免费观看电视剧| 国产区| 沉沦韵母小说全文阅读| 黑料门-今日黑料-万里长征| 麻花天美星空免费观看电视剧| 妈妈你真棒里面的插曲叫什么 | 《帐篷里的秘密》动漫| 国产-区| 7777777亚洲和欧洲尺码表| 美国色情巜教练和女警官视频| 成品PPT网站大片入口| 少女初恋吃小头头视频免费 | 草原课文六年级上册| 在线视频| 护士小嫩嫩好紧好爽H漫画| 王局长把乳置解开吃胸的动态图| 久久精品| 黑暗荣耀免费观看完整版电视剧| 看B站A8直播| 黑人空乘伦理5| 《不戴套瑜伽教练3》| 日本大片又大又好看的PPT| 俩个人做AJ的视频教程大全| 国产老熟妇精品观看| 《日本公与媳5》公妇伦| 《炸裂吧!巨棒》免费阅读漫画 | 成品人和精品人的区别哪个好| 不抛弃不放弃| 找寂寞妇女| 女同学裸睡我把她奶头摸硬了| 美国伦理小樱桃1| 《妻子6》在线观看免费版电视剧| 日本大片又大又好看的PPT| 看片| 禁忌1蜜桃熟了| 台剧《恋爱之瘾》小蓝| 大美女图片现身大全的视频| 女生胸前两颗大大的包是什么| 《一滴都不许漏》何泽城林荫| 蜜桃成熟时3D