zoukankan      html  css  js  c++  java
  • 小文件的存储

    对于小文件的存储,指小于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()
  • 相关阅读:
    基本数据类型和包装数据类型
    编程英语多样化(长期更新)
    jdk,jre,jvm,openJdk
    英语句子频率印象流
    单击单选按钮换成图片
    标签注意事项:
    背景图片处理
    天猫导航栏
    百度地图
    两栏布局
  • 原文地址:https://www.cnblogs.com/zengsf/p/9690422.html
Copyright © 2011-2022 走看看