使用mongodb对文件(图片、音频、视频)的存储、读取操作
实现代码示例:
package mongo.util; import java.io.File; import java.io.IOException; 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 wangzp */ public class Mon_GridFS { public static void main(String[] args) throws Exception { //saveFile(); readFile(); } /** * 存储文件 * @throws IOException */ public static void saveFile() throws IOException{ //连接服务器,创建实例 Mongo mongo = new Mongo("127.0.0.1",27017); //连接数据库 DB db = mongo.getDB("testGridFS"); //文件是在DB基础上实现的,与表和文档没有关系 GridFS gridFS = new GridFS(db); String fileName = "2-2 数据库设计.mp4"; File readFile = new File("d:/0202/"+fileName); GridFSInputFile mongofile = gridFS.createFile(readFile); //再添加对象 mongofile.put("path", "d:/0202/"+fileName); //保存 mongofile.save(); } /** * 读取文件,写入磁盘 * @throws Exception */ public static void readFile() throws Exception{ //1.连接服务器,创建实例 Mongo mongo = new Mongo("127.0.0.1",27017); //连接数据库 DB db = mongo.getDB("testGridFS"); //文件是在DB基础上实现的,与表和文档没有关系 GridFS gridFS = new GridFS(db); //2.查找条件 DBObject query = new BasicDBObject(); List<GridFSDBFile> listFile = gridFS.find(query); GridFSDBFile gridFSDBFile = listFile.get(0); //3.获取文件名 //注意:不是fs中的表的列名,而是根据调试gridDBFile中的属性而来 String fileName = (String)gridFSDBFile.get("filename"); System.out.println("从MongoDB获得的文件名为:"+fileName); //4.创建空文件 File writeFile = new File("d:/"+fileName); if(!writeFile.exists()){ writeFile.createNewFile(); } //5.写入文件 gridFSDBFile.writeTo(writeFile); } }
图片位置:
mongoDB 数据库客户端
相关推荐
使用GridFS,MongoDB可以存储大文件如图像、视频和音频文件。GridFS将文件分割成多个块进行存储,这对于处理大型文件尤其有用。 要实现批量读取图片并存入数据库,首先需要确保你已经安装了Python以及以下相关库: ...
- GridFS 是 MongoDB 提供的一个用于存储大文件(如音频、视频等)的模块。它将文件拆分成小块进行存储,并提供了完整的API来管理这些文件。 #### 五、MongoDB中的BSON数据类型 BSON 是 MongoDB 使用的数据交换...
5. MongoDB.Driver.GridFS.dll:GridFS是MongoDB的一个特性,用于存储和检索大文件,如图像、视频或音频文件。当单个文件超过16MB(MongoDB文档的最大大小)时,GridFS将文件分割成多个块存储在两个不同的集合中。这...
WebSocket API设计简单,使得开发者可以轻松地在前端和后端之间传递消息,如发送文本、图片、音频或视频。 在具体实现过程中,Node.js被用作WebSocket服务器,因为它具有非阻塞I/O和事件驱动的特性,非常适合处理...
* MongoDB 中的 GridFS 是一种存储和检索大文件的方法,例如图像、视频文件和音频文件。默认情况下,它使用两个文件 fs. files 和 fs. chunks 来存储文件的元数据和数据块。 * MongoDB 中的 Profiler 是一种数据库...
1. BLOB类型:BLOB(Binary Large Object)是MySQL中的数据类型,专门用于存储二进制大对象,如图片、音频或视频文件。在Java编程中,可以使用PreparedStatement的setBlob方法将图片字节数组转换为Blob对象并存储到...
- **目的**: GridFS是MongoDB用于存储大型文件(如图片、音频和视频文件)的标准机制。 - **实现**: 文件被拆分成小块存储在多个文档中。 #### 35. GridFS的解释 - **机制**: GridFS是一种文件存储规范,允许...
- **GridFS支持**:能够存储和检索大文件,如图片、音频和视频等。 - **数据库结构**: - **Database**:数据库是MongoDB中最高级别的容器,每个数据库都有自己的命名空间。 - **Collection**:集合是文档的容器,...
为了存储和检索大文件,例如图像、视频文件和音频文件,使用 GridFS。 MongoDB 替代方案 1. MongoDB 有哪些替代方案? Cassandra,CouchDB,Redis,Riak,Hbase 都是不错的选择。 Memcached 1. 什么是 Memcached? ...
标题“精典源码之数据的储存与读取.zip”主要涵盖了两个核心概念:数据的存储和读取,这是计算机科学中的基础要素。在实际的IT应用中,无论是数据库管理系统、文件系统还是内存管理,数据的存储和读取都是至关重要的...
至于数据库操作,如果是对文件数据库的操作,可能需要了解MongoDB、CouchDB、Amazon S3等文件存储服务,或者使用NoSQL数据库管理系统,它们支持直接存储和检索文件。例如,MongoDB的GridFS是专门用于存储大文件的子...
GridFS是MongoDB提供的用于存储大型文件(如图像、音频文件等)的标准规范。它将文件分割成小块并分别存储在两个集合中,以确保文件的安全性和完整性。 #### 七、索引 MongoDB支持创建索引来加快数据查询速度。...