码迷,mamicode.com
首页 > 其他好文 > 详细

小文件的存储

时间:2018-09-22 18:28:53      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:import   一个   图片   mys   find   文件中   image   div   字符   

对于小文件的存储,指小于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()

 

小文件的存储

标签:import   一个   图片   mys   find   文件中   image   div   字符   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!