博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring从MongoDB中下载文件之GridFS
阅读量:5962 次
发布时间:2019-06-19

本文共 1164 字,大约阅读时间需要 3 分钟。

  hot3.png

问题

之前提到过以GridFS方式上传问题到MongoDB中:。现在需要从Mongodb中读取文件,应该怎么处理类?

解决

Maven

org.springframework.data
spring-data-mongodb
2.0.5.RELEASE

注解mongoDbFactory

@Autowiredprivate MongoDbFactory mongoDbFactory;

获取文件流

String fileId = "5602de6e5d8bba0d6f2e45e4";// 从Mongod中查找出一个文件,注意这里返回为com.mongodb.client.gridfs.model.GridFSFile类GridFSFile gridFsdbFile = operations.findOne(new Query(Criteria.where("_id").is(fileId)));if (gridFsdbFile != null) {        // mongo-java-driver3.x以上的版本就变成了这种方式获取        GridFSBucket bucket = GridFSBuckets.create(mongoDbFactory.getDb());        ByteArrayOutputStream baos = new ByteArrayOutputStream();        // 获取Mongodb中文件的缓存输出流        bucket.downloadToStream(gridFsdbFile.getId(), baos);        ...}

**Note:**其中operations为里面的GridFsOperations类为org.springframework.data.mongodb.gridfs.GridFsOperations;其中GridFSFilecom.mongodb.client.gridfs.model.GridFSFile类。 获取到输出流,到这里之后就是Java流操作的事情了。

总结

spring-data-mongodb从2.0版本开始,其中方法,返回类型为com.mongodb.client.gridfs.model.GridFSFile,不是再为com.mongodb.gridfs.GridFSDBFile类型。所以,这里就不得不用GridFSBucket来获取文件。

参考:

转载于:https://my.oschina.net/fxtxz2/blog/1828912

你可能感兴趣的文章
安装应用的时候拷贝一个DB文件到应用database下
查看>>
shell 基础
查看>>
twisted的LineReceiver的接口定义
查看>>
浅解用PHP实现MVC
查看>>
MySQL常用操作
查看>>
Yxcms网站管理系统安装
查看>>
字符串,链表,树
查看>>
Nginx错误日志(error_log)配置及信息详解
查看>>
Highcharts 学习笔记
查看>>
高性能python编程之协程
查看>>
PHP编译过程中常见错误信息的解决方法
查看>>
redis服务端及php客户端安装方法
查看>>
定时删除文件
查看>>
mysql主从同步
查看>>
springmvc 高级3 之 统一异常处理
查看>>
我的友情链接
查看>>
memcache安装
查看>>
(总结)Web性能压力测试工具之ApacheBench(ab)详解
查看>>
我的友情链接
查看>>
AWT查看oracle历史sql语句执行
查看>>