GridFS的原理和应用
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,本篇内容介绍了"GridFS的原理和应用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!GridFS是
千家信息网最后更新 2025年01月22日GridFS的原理和应用
本篇内容介绍了"GridFS的原理和应用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
GridFS是MongoDB提供的用于持久化存储文件的模块,CMS使用Mongo DB存储数据,使用FGridFS可以快速集成开发。
工作原理:
在GridFS存储文件是将文件分块存储,文件会按照256KB的大小分割成多个块进行存储,GridFS使用两个集合(collection)存储文件,一个集合是chunks,用于存储文件的二进制数据;一个集合是files,用于存储文件的元数据(文件名称,大小,上传时间等信息)。
入门代码:
一、添加依赖
org.springframework.boot spring-boot-starter-data-mongodb org.springframework.boot spring-boot-starter-test org.springframework.boot spring-boot-starter-web org.apache.commons commons-io 1.3.2
二、创建启动类
package lianbang.wu.gridfs;import com.mongodb.MongoClient;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.Bean;@SpringBootApplicationpublic class GridFSApplication { public static void main(String[] args) { SpringApplication.run(GridFSApplication.class); }}
三、配置文件
server: port: 31001spring: application: name: xc-service-manage-cms data: mongodb: uri: mongodb://root:123@localhost:27017 #mongodb连接 database: xc-cms #数据库名称
四、创建配置类
@Configurationpublic class GridFsConfig { @Value("${spring.data.mongodb.database}") String db; @Bean public GridFSBucket getGridFSBucket(MongoClient mongoClient){ MongoDatabase database = mongoClient.getDatabase(db); GridFSBucket bucket = GridFSBuckets.create(database); return bucket; }}
五、测试代码
public class GridFSTest { @Autowired GridFsTemplate gridFsTemplate; @Autowired GridFSBucket gridFSBucket; //保存文件 @Test public void testGridFs() throws FileNotFoundException { File file = new File("d:/index_banner.html"); FileInputStream fileInputStream = new FileInputStream(file); ObjectId objectId = gridFsTemplate.store(fileInputStream, "测试文件"); String fileId = objectId.toString(); System.out.println(fileId); } //读取文件 @Test public void queryFile() throws IOException { String fileId = "123456";//模拟的id GridFSFile gridFSFile = gridFsTemplate.findOne(Query.query(Criteria.where("_id").is(fileId))); GridFSDownloadStream gridFSDownloadStream = gridFSBucket.openDownloadStream(gridFSFile.getObjectId()); GridFsResource gridFsResource = new GridFsResource(gridFSFile,gridFSDownloadStream); String string = IOUtils.toString(gridFsResource.getInputStream(), "utf-8"); System.out.println(string); } //删除文件 @Test public void testDelFile(){ gridFsTemplate.delete(Query.query(Criteria.where("_id").is("1234"))); }}
"GridFS的原理和应用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
文件
存储
数据
原理
应用
代码
内容
名称
大小
更多
知识
测试
配置
实用
学有所成
接下来
两个
二进制
信息
困境
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
大兴区网络营销软件开发
融持网络技术有限公司
nxt软件打不开如何连接服务器
yy服务器挂机
昆明互联网科技学费
电子科技大学网络安全博士就业
信阳学软件开发
社区网络安全小视频怎么拍
网络技术人员怎么找工作
存储技术与数据库的物理设计
网络安全态势感知截图
c++怎样读入文档的数据库
保护好网络安全怎样做
苹果如何备份游戏数据库
网络技术与安全专业有前景吗
人口学数据库
sql数据库是什么岗位
上海游戏软件开发公司哪家好
rup是一种软件开发方法
网络安全大赛学历要求
怎么给网络安全机关投意见
电信云网络安全
机架式服务器外观检验标准
贵州开心玩网络技术有限公司
服务器 机架式 塔式
批量插入pg数据库
软件开发的基本流程概述
萌娘战争服务器
数据库脚本创建
激战2服务器满