mongodb基础系列——java操作mongodb实现图片文件功能
来源:互联网 发布:淘宝卖家售假被扣2分 编辑:程序博客网 时间:2024/04/25 21:00
mongodb支持多种语言,并且提供了多种语言的驱动。
这篇博客主要介绍如何mongodb存储以及读取文件
前提:下载相应的驱动:官网上下载:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/
本人使用mongo-2.10.1.jar版本:
mongodb操作文件,主要是通过GridFS类。存储文件主要存放在fs中了,其中的fs是数据库默认的。
并且GridFS是直接与数据库打交道,与collection集合无关。
具体的操作如下:其中有相应的注释:
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<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("d:/"+fileName); if(!writeFile.exists()){ writeFile.createNewFile(); } //把数据写入磁盘中 //查看相应的提示 gridDBFile.writeTo("d:/a.txt"); //写入文件中 gridDBFile.writeTo(writeFile); }}
其中图片也是这么存储的,把图片当作文件来存储。
运行上述存储结果如下:
- mongodb基础系列——java操作mongodb实现图片文件功能
- mongodb基础系列——java操作mongodb实现图片文件功能
- mongodb基础系列——java操作mongodb实现图片文件功能
- mongodb基础系列——java操作mongodb实现CURD
- mongodb基础系列——java操作mongodb实现CURD
- mongoDB——java操作mongoDB实现文件上传下载
- mongoDB——java操作mongoDB实现文件上传下载
- mongoDB——java操作mongoDB实现文件上传下载
- mongoDB——java操作mongoDB实现文件上传下载
- mongoDB——java操作mongoDB实现文件上传下载
- mongoDB——java操作mongoDB实现文件上传下载
- mongodb基础系列——mongodb简介
- mongoDB——java操作mongodb文档
- mongoDB——java操作mongodb文档
- mongoDB——java操作mongodb文档
- mongoDB——java操作mongodb文档
- mongodb存取图片文件功能
- MongoDB系列之三:java操作MongoDB
- 使用 Eclipse 开发 JavaFX 程序
- 程序员招聘标准
- 一只小蜜蜂...+ 递推
- Hadoop分布式文件系统:结构与设计
- hdu1236(排名)
- mongodb基础系列——java操作mongodb实现图片文件功能
- 西甲之死
- 10916 - Factstone Benchmark
- Python 代码性能优化技巧
- 视频流加密(一)
- JavaScript定义函数的三种方式
- 【苹果的颜色不同它的保健功效也不同】
- 设计模式和原则:策略模式
- /etc/fstab