zoukankan      html  css  js  c++  java
  • 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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    MkDocs: 构建你自己的知识库
    Vue入门
    Vue UI库
    【入门】PyTorch
    【转载】工业相机的原理与选型
    如果你是狮子,就得学会逼狼去吃草
    【转载】剖析Git的实现机制
    管理学-员工管理
    量化投资
    【汇总】图像格式
  • 原文地址:https://www.cnblogs.com/ExMan/p/10948860.html
Copyright © 2011-2022 走看看