学习girdFS笔记,主要是girdFS存储照片到MongoDB·,保存照片到硬盘

0,GridFSBucket 配置类,用于打开下载流对象

@Configuration
public class MongoConfig {@Value("${spring.data.mongodb.database}")String db;@Beanpublic GridFSBucket getGridFSBucket(MongoClient mongoClient){MongoDatabase database = mongoClient.getDatabase(db);GridFSBucket bucket = GridFSBuckets.create(database);return bucket;}
}

1,存储照片

 @AutowiredGridFsTemplate gridFsTemplate;@AutowiredGridFSBucket gridFSBucket;@Testpublic void addImage() {try {//要存储的文件File file = new File("E:\\360Downloads\\1.jpg");//定义输入流FileInputStream inputStram = new FileInputStream(file);//向GridFS存储文件ObjectId objectId = gridFsTemplate.store(inputStram, "img测试");//得到文件IDString fileId = objectId.toString();System.out.println(fileId);//5d7e000fd3e38128a8481c4f} catch (FileNotFoundException e) {e.printStackTrace();}}

2, 下载图片

    @Testpublic void getImg() throws IOException {//获取id值String fileId = "5d7e000fd3e38128a8481c4f";//取出文件GridFSFile gridFSFile = gridFsTemplate.findOne(query(Criteria.where("_id").is(fileId)));//打开下载流对象(方式1)GridFSDownloadStream gridFSDownloadStream = gridFSBucket.openDownloadStream(gridFSFile.getObjectId());//创建gridFsResource,用于获取流对象GridFsResource gridFsResource = new GridFsResource(gridFSFile, gridFSDownloadStream);/**打开下载流对象(方式2)GridFsResource resource = gridFsTemplate.getResource(gridFSFile);*///获取输入流InputStream fis = gridFsResource.getInputStream();//获取输出流FileOutputStream fos=new FileOutputStream("d:\\4.jpg");byte[] bytes=new byte[1024];int len=0;while ((len=fis.read(bytes))!=-1){fos.write(bytes,0,len);}fos.close();fis.close();}

girdFS 存储照片,保存照片到硬盘相关推荐

  1. 微云存照片会变模糊吗_保存照片的最佳方式是网盘、硬盘、SSD还是光盘?

    身处信息时代,手机.电脑都是必不可少的工具,我们无论是生活.工作还是学习,都会产生各种数据,这些数据不知不觉开始累积,体积越来越大,常见的比如说照片.录像.文档资料等等,或多或少都会有对你来说非常重要 ...

  2. cocos2dx arm64 jpg格式的不显示_相机保存照片你选RAW还是JPG?这里面大有讲究

    我们拿到相机第一步肯定是进行各种设置,其中设置图像画质菜单中有RAW和JPG格式之选,可不可以随便选一个呢?如果你随便拍,那就可以随便选,肯定是没问题的,因为都可以显示出画面,但如果你追求的是摄影艺术 ...

  3. iOS开发之保存照片到自己创建的相簿

    iOS开发之保存照片到自己创建的相簿 保存照片还可以用ALAssetsLibrary,ALAssetsLibrary提供了我们对iOS设备中的相片.视频的访问,是连接应用程序和相册之间访问的一个桥梁. ...

  4. opencv 拍摄并保存照片

    按键拍摄保存照片. #include<opencv2/opencv.hpp> #include"opencv2/highgui/highgui.hpp" #includ ...

  5. 保存照片和视频到相册显示

    照片和视频保存到本地的方法大致都是通过流的方式写入文件里面就可以达到保存到文件夹的目的,但是你保存到文件夹的资源却不一定能够在相册显示出来,只能翻看文件管理. 怎么能够将保存到本地的照片视频显示在系统 ...

  6. android拍照保存照片方向,Android:Camera2开发详解(上):实现预览、拍照、保存照片等功能...

    android.jpg 前言 在前几篇文章中介绍了如何调用系统相机拍照和使用Camera1的实现自定义相机拍照.人脸检测等功能 文章传送门: 接下来的几篇文章中,我将给大家介绍如何使用Camera2实 ...

  7. 手机里隐藏了一个无限空间,可以永久保存照片视频,好多人不知道

    很多人都试过手机内存不够了,要清理一下相片或视频,但是选来选去我都不想删掉都很喜欢啊,该怎么办呢?没关系,今天我们来分享一个手机可以免费永久保存照片视频的方法,而且空间是无限制的,你想存多少都可以.不 ...

  8. Basler 工业相机 Python开发采集数据、保存照片

    Python 安装pypylon 建议先下载pypylon轮子文件(下载地址),下载后Pip install 轮子文件, 安装即可. 注意不要用Python 3.8, pypylon 只能支持到Pyt ...

  9. 设定相机预览和保存照片尺寸

    1.获取相机支持的预览和保存照片的尺寸 获取 mPreviewSizes 和 mPictureSizes 的代码 /*** 打开摄像头*/private void openCamera() {if ( ...

最新文章

  1. VS2010 COM组件问题
  2. 计算机中iis6.0配置步骤,Win2003 IIS6.0 安装方法 图文详细教程
  3. android碎片按钮,Android 碎片(Fragment)
  4. php插入代码数据库
  5. mysql日期截取年月_摄影大赛丨“我遇见最美的光”第五届全国医务人员摄影大展 截稿日期2020年8月15日...
  6. php有多少魔术方法,PHP常用的几个魔术方法
  7. Android开发之自定义的ProgressDialog
  8. Dockerfile 中 配置安装 php 扩展
  9. 扩展bash_Bash中的参数扩展简介
  10. 并发编程(二)线程并发工具类
  11. Web应用开发平台 OpenJWeb
  12. 第三季-第25课-UDP通讯程序设计
  13. STC学习:红外测试
  14. tcp测试软件app源码,Packet Sender(UDP/TCP网络测试工具)
  15. 北理工嵩天Python面向对象程序设计笔记
  16. UDP与TCP报文格式,字段意义
  17. 线性代数-距离公式汇总
  18. HDU4689 Prince and Princess (Tarjan+匈牙利匹配)
  19. Android调试常用命令
  20. 【例4-3】利用数组,给定N个正整数数据(N<=100),查找最大值和最小值并输出。【输入输出样例】Input length (N<=100):(此处括号、冒号为英文符号,后面无空格;leng

热门文章

  1. admi后台 vue_推荐五款Vue管理后台框架
  2. PyBullet(八)实时控制机器人手臂参数(以UR5机器人手臂为例)(有需要上传油管的视频)
  3. Alphacam教程 门板软件零基础视频教程(非常详细)
  4. 【自我管理篇】如何提高专注力
  5. 达内科技NTD1712华为vlan定义,及简单应用
  6. SOCK_RAW 实现ICMP路由追踪
  7. css 兼容解决方案,css浏览器兼容_CSS浏览器兼容性问题及解决方案
  8. SpringBoot使用RestTemplate访问第三方接口工具类
  9. 【思维导图】探秘脑科学,科学家尚未打开的黑匣子!(一篇还不错的脑科学的科普文,涉及到多个层面,也比较浅显)
  10. mayavi安装失败,卡在Building wheel for mayavi (setup.py)