mongodb java 图片_mongodb基础系列——java操作mongodb实现图片文件功能 | 学步园

本文档展示了如何使用Java操作MongoDB实现图片文件的存储和读取功能。通过MongoDB的GridFS接口,将图片作为文件存储在数据库中,并能成功从数据库中读取回磁盘。
摘要由CSDN通过智能技术生成

package com.mongo.dao;

import java.io.File;

import java.util.List;

import com.mongodb.BasicDBObject;

import com.mongodb.DB;

import com.mongodb.DBObject;

import com.mongodb.Mongo;

import com.mongodb.gridfs.GridFS;

import com.mongodb.gridfs.GridFSDBFile;

import com.mongodb.gridfs.GridFSInputFile;

/**

* 使用mongodb对文件的读取操作

* @author lhy

*

*/

public class GridFSTest {

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

//saveFile();

readFile();

}

/**

* 存储文件

*/

public static void saveFile() throws Exception{

//连接服务器

Mongo mongo=new Mongo();

//连接数据库

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

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

GridFS gridFS=null;

gridFS=new GridFS(db);

String fileName="vltest.log";

File readFile=new File("d:/"+fileName);

GridFSInputFile mongofile=gridFS.createFile(readFile);

//可以再添加属性

mongofile.put("path","d:/"+fileName);

//保存

mongofile.save();

}

/**

* 读文件,读到磁盘上

* @throws Exception

*/

public static void readFile() throws Exception{

//链接服务器

Mongo mongo=new Mongo();

//连接数据库

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

GridFS gridFs=null;

gridFs=new GridFS(db);

//查找条件

DBObject query=new BasicDBObject();

//查询的结果:

List 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("d:/"+fileName);

if(!writeFile.exists()){

writeFile.createNewFile();

}

//把数据写入磁盘中

//查看相应的提示

gridDBFile.writeTo("d:/a.txt");

//写入文件中

gridDBFile.writeTo(writeFile);

}

}

其中图片也是这么存储的,把图片当作文件来存储。

运行上述存储结果如下:

1370154312_3340.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值