版本

      <dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-mongodb</artifactId><version>2.1.3.RELEASE</version></dependency>

使用的时候注意版本,2.x以上某些方法进行了更改。gridfs下载在2.x以下版本为

    private static void download() {GridFSDBFile fs = gridFsTemplate.findOne(Query.query(Criteria.where("_id").is("58da69a45aa6c70234eb70f1")));try {fs.writeTo("/home/a.txt");} catch (IOException e) {e.printStackTrace();}}

2.x以上版本。find的返回值进行了更改。需要使用如下方法进行下载

find找到fs后,调用

getResource方法。然后进行java的文件存储。

private static void download() {GridFSFile fs = gridFsTemplate.findOne(Query.query(Criteria.where("_id").is("5c0619774a24a3408284b4b3")));GridFsResource gs = gridFsTemplate.getResource(fs);OutputStream os = null;try {byte[] bs = new byte[1024];int len;InputStream in = gs.getInputStream();File file = new File("/home/chaoba/");os = new FileOutputStream(file.getPath() + File.separator + gs.getFilename());while ((len = in.read(bs)) != -1) {os.write(bs, 0, len);}} catch (IllegalStateException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}

上传方法

    private static void upload() {File file = new File("/home/chaoba/Downloads/抖音-日版.apk");try {ObjectId id = gridFsTemplate.store(new FileInputStream(file), file.getName(),new Document().put("user", "admin"));System.out.println(id);} catch (FileNotFoundException e) {e.printStackTrace();}}

MongoDb学习(五)--Gridfs--上传下载相关推荐

  1. 使用GridFS上传下载图片以及其他文件

    MongoDB所带的GridFS是极为方便的文件管理系统,MongoDB的Shell语言与Python的语言风格非常像,写起来非常方便.重点是需要用StringIO将文件装换为二进制保存.主程序是一个 ...

  2. Git学习文档之一 学习文档-上传下载

    ##上传下载 ###如何上传(推送数据到远程仓库) 项目进行到一个阶段,要同别人分享目前的成果,可以将本地仓库中的数据推送到远程仓库.实现这个任务的命令很简单: git push [remote-na ...

  3. android 文件上传工具类,Android快速开发架构PlanA(五),文件上传下载了解一下...

    1.PlanA文件上传&下载的使用 PlanA架构集成第五篇,文件上传下载的使用,文件上传&下载在APP里面随处可见,发朋友圈要上传图片或者短视频,换个头像要上传选择的图片,offic ...

  4. 后台学习六---ajaxFileupload文件上传下载

    这一章讲讲文件的上传下载,这里我们使用ajax的上传文件方法. ps:基于maven的springmvc框架都已经搭建好了的,如有问题,参考 : 后台学习一-spring+maven+mybatis+ ...

  5. Webwork 学习之路【07】文件上传下载

    Web上传和下载应该是很普遍的一个需求,无论是小型网站还是大并发访问的交易网站.WebWork 当然也提供了很友好的拦截器来实现对文件的上传,让我们可以专注与业务逻辑的设计和实现,在实现上传和下载时顺 ...

  6. salesforce 零基础学习(四十二)简单文件上传下载

    项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文 ...

  7. python 网盘上传_python学习笔记 day32 实现网盘上传下载功能

    1. 作业需求 借助socket模块实现server端和client端的交互,拟实现网盘上传下载的功能: 上传: client端发送请求,把本地的文件上传给server端,server端负责接收,然后 ...

  8. Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载

    在Flex的应用开发中,同ASP.NET,JSP,PHP等应用一样,都会有上传/下载文件的应用需求,Flex的SDK也为我们提供了专门的类FileRefUdderence实现文件上传/下载 .Flex ...

  9. Java实现七牛云文件或图片上传下载

    写在前面 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:人工智能学习网站 文章目录 写在前面 一.准备工作 1.1.为什么选择七牛云? 1.2.七牛云注册 二.ja ...

  10. Android开发中使用七牛云存储进行图片上传下载

    Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储 ...

最新文章

  1. Crash常见异常总结
  2. Python正则表达式-2
  3. Unknown initial character set index '255' received from server.
  4. linux 查看磁盘空间_Linux下删点日志也能搞死人
  5. Web设计与开发终极资源大全
  6. redis2.2.8版本的安装详情
  7. OpenCv色彩通道分离与融合
  8. Python的Base64编码图片(转载)
  9. ResHacker使用小解
  10. 树莓派如何接硬盘_树莓派之挂载移动硬盘
  11. tensorflow中的shape问题
  12. 五子棋游戏-1(绘制棋盘)
  13. OSG使用OpenGL(以及glad库)绘制自定义图形
  14. Android 加密压缩文件
  15. Django框架学习——1—(虚拟环境搭建、MVC思想与Django的MVT区别、Django项目的创建、运行Django项目、项目结构介绍)
  16. PTA甲级 1097 Deduplication on a Linked List (25分)-链表处理
  17. 数模必备:利用ggplot2在地图上连线(不使用for循环)
  18. Go go.mod详解
  19. 快捷键创建向下滑动关机小技巧~~
  20. QQ群文件快速下载方法

热门文章

  1. 软考中常见的英文缩写
  2. 那些编程中遇到的常见英文缩写
  3. 机器学习算法工程师面试问题
  4. win10 jFrameDesigner安装
  5. MySQL中文乱码解决方案
  6. 小程序学习:使用有赞UI组件
  7. 水电站计算机监控作用,计算机监控系统在水电站中的应用
  8. win7 win10 配置共享文件夹
  9. win10访问不了服务器的共享文件,win10访问不了samba共享文件夹怎么办
  10. FPGA经典设计思想