首页 > 其他 > 详细

小文件的存储

时间:2018-09-22 17:26:11      阅读:183      评论:0      收藏:0      [点我收藏+]

对于小文件的存储,指小于16M的文件

import bson
bson.binary.Binary()
功能: 将bytes格式字符串装换为mongodb的二进制存储格式

将文件存储到数据库中:

#小文件存储方案
#直接装换为二进程格式插入到数据库

from pymongo import MongoClient
import bson.binary

conn = MongoClient("localhost", 27017)
db = conn.image

myset = db.python

#存储文件
f = open("mongo1.py", "rb")

#将图片内容转换为可存储的二进制格式
content = bson.binary.Binary(f.read())

#插入到文档
myset.insert({"filename":"mongo1.py","data":content})

conn.close()

存放到数据库中的格式是:{ "_id" : ObjectId("5ba4bc1f69d72e1bc400161f"), "data" : BinData(0,"ZnJvbSBwe..........NlKCkK"), "filename" : "mongo1.py" }

从数据库中取出文件:

from pymongo import MongoClient
#连接数据库对象
conn = MongoClient("localhost", 27017)
#创建数据库对象
db = conn.image

#创建集合对象
myset = db.python

#提取文档,由于find_one返回之后的是一个字典
dic = myset.find_one({"filename":"mongo1.py"})
with open("mongo5", "wb") as f:
    #通过字典的键值来获取数据并写到新的文件中
    f.write(dic["data"])

conn.close()

 

小文件的存储

原文:https://www.cnblogs.com/zengsf/p/9690422.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!