• python 将图片存入mongodb,读取图片,gridfs模块


    导入图片
    引入模块,其中gridfs模块不需要单独安装,引入了pymongo即可直接引入
    from pymongo import MongoClient
    from gridfs import *
    import os
    #链接mongodb
    client=MongoClient('localhost',27017)
    #取得对应的collection
    db=client.image
    #本地硬盘上的图片目录
    dirs = 'e:cs'
    #列出目录下的所有图片
    files = os.listdir(dirs)
    #遍历图片目录集合
    for file in files:
      #图片的全路径
    filesname = dirs + '\' + file
      #分割,为了存储图片文件的格式和名称
    f = file.split('.')
      #类似于创建文件
    datatmp = open(filesname, 'rb')
      #创建写入流
    imgput = GridFS(db)
      #将数据写入,文件类型和名称通过前面的分割得到
    insertimg=imgput.put(datatmp,content_type=f[1],filename=f[0])
    datatmp.close()
    print("js")
    创建成功后,会在集合中生成fs.flies和fs.chunks

    导出图片

    from pymongo import MongoClient
    from gridfs import *
    client=MongoClient('localhost',27017)
    db=client.image
    #给予girdfs模块来写出,其中collection为上一步生成的,我不知道怎么该名称。实际上是由fs.flies和fs.chunks组成
    gridFS = GridFS(db, collection="fs")
    count=0
    for grid_out in gridFS.find():
    count+=1
    print(count)
    data = grid_out.read() # 获取图片数据
    outf = open('cs.jpg','wb')#创建文件
    outf.write(data) # 存储图片
    outf.close()

    ---------------------
    作者:a873054267
    来源:CSDN
    原文:https://blog.csdn.net/A873054267/article/details/83788430
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    NIO编程实现步骤
    NIO简介
    JavaReflect专题学习一
    mqtt报错:The PUBREC PacketId 5 is inuse
    git+码云
    python 随笔
    odoo openErp 随笔
    postgreSQL 随笔
    高精地图开放项目,欢迎Join in!
    Jenkins属性持久化 版本号自动递增
  • 原文地址:https://www.cnblogs.com/ExMan/p/10948860.html
Copyright © 2020-2023  润新知