GridFS介绍
- GridFS是MongoDB提供的用于持久化存储文件的模块,CMS使用MongoDB存储数据,使用GridFS可以快速集成开发。
它的工作原理是:
在GridFS存储文件是将文件分块存储,文件会按照256KB的大小分割成多个块进行存储,GridFS使用两个集合(collection)存储文件,一个集合是chunks,
用于存储文件的二进制数据;一个集合是files,用于存储文件的元数据信息(文件名称、块大小、上传时间等信息)。从GridFS中读取文件要对文件的各各块进行组装、合并。
我在写一个spingboot项目,数据库用的是mongoDB,然后发现它里面有个存储文件用的GirdFs,感觉还是挺好用的,但是,网上又没找到详细教程,于是自己写了一个demo,大家有兴趣可以下载:
https://download.youkuaiyun.com/download/weixin_44446298/10982983
1.关于存文件
@Autowired
GridFsTemplate gridFsTemplate;
@Test
public void contextLoads() throws FileNotFoundException {
File file = new File("d:/ziliao/index_banner.ftl");
FileInputStream fileInputStream = new FileInputStream(file);
//向Girdfs存储文件
ObjectId objectId = gridFsTemplate.store(fileInput