MongoDb学习(五)--Gridfs--上传下载
版本
<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--上传下载相关推荐
- 使用GridFS上传下载图片以及其他文件
MongoDB所带的GridFS是极为方便的文件管理系统,MongoDB的Shell语言与Python的语言风格非常像,写起来非常方便.重点是需要用StringIO将文件装换为二进制保存.主程序是一个 ...
- Git学习文档之一 学习文档-上传下载
##上传下载 ###如何上传(推送数据到远程仓库) 项目进行到一个阶段,要同别人分享目前的成果,可以将本地仓库中的数据推送到远程仓库.实现这个任务的命令很简单: git push [remote-na ...
- android 文件上传工具类,Android快速开发架构PlanA(五),文件上传下载了解一下...
1.PlanA文件上传&下载的使用 PlanA架构集成第五篇,文件上传下载的使用,文件上传&下载在APP里面随处可见,发朋友圈要上传图片或者短视频,换个头像要上传选择的图片,offic ...
- 后台学习六---ajaxFileupload文件上传下载
这一章讲讲文件的上传下载,这里我们使用ajax的上传文件方法. ps:基于maven的springmvc框架都已经搭建好了的,如有问题,参考 : 后台学习一-spring+maven+mybatis+ ...
- Webwork 学习之路【07】文件上传下载
Web上传和下载应该是很普遍的一个需求,无论是小型网站还是大并发访问的交易网站.WebWork 当然也提供了很友好的拦截器来实现对文件的上传,让我们可以专注与业务逻辑的设计和实现,在实现上传和下载时顺 ...
- salesforce 零基础学习(四十二)简单文件上传下载
项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文 ...
- python 网盘上传_python学习笔记 day32 实现网盘上传下载功能
1. 作业需求 借助socket模块实现server端和client端的交互,拟实现网盘上传下载的功能: 上传: client端发送请求,把本地的文件上传给server端,server端负责接收,然后 ...
- Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载
在Flex的应用开发中,同ASP.NET,JSP,PHP等应用一样,都会有上传/下载文件的应用需求,Flex的SDK也为我们提供了专门的类FileRefUdderence实现文件上传/下载 .Flex ...
- Java实现七牛云文件或图片上传下载
写在前面 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:人工智能学习网站 文章目录 写在前面 一.准备工作 1.1.为什么选择七牛云? 1.2.七牛云注册 二.ja ...
- Android开发中使用七牛云存储进行图片上传下载
Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储 ...
最新文章
- Crash常见异常总结
- Python正则表达式-2
- Unknown initial character set index '255' received from server.
- linux 查看磁盘空间_Linux下删点日志也能搞死人
- Web设计与开发终极资源大全
- redis2.2.8版本的安装详情
- OpenCv色彩通道分离与融合
- Python的Base64编码图片(转载)
- ResHacker使用小解
- 树莓派如何接硬盘_树莓派之挂载移动硬盘
- tensorflow中的shape问题
- 五子棋游戏-1(绘制棋盘)
- OSG使用OpenGL(以及glad库)绘制自定义图形
- Android 加密压缩文件
- Django框架学习——1—(虚拟环境搭建、MVC思想与Django的MVT区别、Django项目的创建、运行Django项目、项目结构介绍)
- PTA甲级 1097 Deduplication on a Linked List (25分)-链表处理
- 数模必备:利用ggplot2在地图上连线(不使用for循环)
- Go go.mod详解
- 快捷键创建向下滑动关机小技巧~~
- QQ群文件快速下载方法