mongodb中怎么插入图片?

图片存储方案:

mongodb操作文件,主要是通过GridFS类。存储文件主要存放在fs中,其中的fs是数据库默认的。并且GridFS是直接与数据库打交道,与collection集合无关。

maven中引入mongodb jar包

public class MongoImgStore {

    public static void main(String[] args) throws Exception {

        //saveImgFile();

        readImgFile();

    }

    public static void saveImgFile() throws Exception {

        //连接服务器 ,线上肯定是带单独的ip 应该这样使用 Mongo("ip")

        Mongo mongo = new Mongo();

        //连接数据库

        DB db = mongo.getDB("ImgGridFS");

        //文件操作是在DB的基础上实现的,与表和文档没有关系

        GridFS gridFS = null;

        gridFS = new GridFS(db);

        String fileName = "79831-uwceV8R.jpg";

        File readFile = new File("F:360data重要数据桌面page" + fileName);

        GridFSInputFile mongofile = gridFS.createFile(readFile);

        //可以再添加属性

        mongofile.put("path", "F:360data重要数据桌面" + fileName);

        //保存

        mongofile.save();

    }

    public static void readImgFile() throws Exception {

        //链接服务器

        Mongo mongo = new Mongo();

        //连接数据库

        DB db = mongo.getDB("ImgGridFS");

        GridFS gridFs = null;

        gridFs = new GridFS(db);

        //查找条件

        DBObject query = new BasicDBObject();

        //查询的结果:

        List<GridFSDBFile> listfiles = gridFs.find(query);

        GridFSDBFile gridDBFile = listfiles.get(0);

        //获得其中的文件名

        //注意 : 不是fs中的表的列名,而是根据调试gridDBFile中的属性而来

        String fileName = (String) gridDBFile.get("filename");

        System.out.println("从Mongodb获得文件名为:" + fileName);

        File writeFile = new File("F:360data重要数据桌面page" + fileName);

        if (!writeFile.exists()) {

            writeFile.createNewFile();

        }

        System.out.println("可以访问的地址:"+writeFile.getAbsoluteFile());

        System.out.println("总占用空间:"+writeFile.getTotalSpace());

        System.out.println("总占用空间:"+gridDBFile.getInputStream());

        //把数据写入磁盘中

        //查看相应的提示

        gridDBFile.writeTo("F:360data重要数据桌面pagelovemm.jpg");

        //写入文件中

        gridDBFile.writeTo(writeFile);

    }

以上先保存图片到mongodb中,在MongoVUE中查看,我们保存了两次,直接双击图片也是能显示的

更多mongodb相关文章请关注网

以上是 mongodb中怎么插入图片? 的全部内容, 来源链接: utcz.com/z/539081.html

回到顶部