使用mongodb对文件(图片、音频、视频)的存储、读取操作

实现代码示例:

package mongo.util;

import java.io.File;

import java.io.IOException;

import java.util.List;

import com.mongodb.BasicDBObject;

import com.mongodb.DB;

import com.mongodb.DBObject;

import com.mongodb.Mongo;

import com.mongodb.gridfs.GridFS;

import com.mongodb.gridfs.GridFSDBFile;

import com.mongodb.gridfs.GridFSInputFile;

/**

* 使用mongodb对文件(图片、音频、视频)的存储、读取操作

* @author wangzp

*/

public class Mon_GridFS {

public static void main(String[] args) throws Exception {

//saveFile();

readFile();

}

/**

* 存储文件

* @throws IOException

*/

public static void saveFile() throws IOException{

//连接服务器,创建实例

Mongo mongo = new Mongo("127.0.0.1",27017);

//连接数据库

DB db = mongo.getDB("testGridFS");

//文件是在DB基础上实现的,与表和文档没有关系

GridFS gridFS = new GridFS(db);

String fileName = "2-2 数据库设计.mp4";

File readFile = new File("d:/0202/"+fileName);

GridFSInputFile mongofile = gridFS.createFile(readFile);

//再添加对象

mongofile.put("path", "d:/0202/"+fileName);

//保存

mongofile.save();

}

/**

* 读取文件,写入磁盘

* @throws Exception

*/

public static void readFile() throws Exception{

//1.连接服务器,创建实例

Mongo mongo = new Mongo("127.0.0.1",27017);

//连接数据库

DB db = mongo.getDB("testGridFS");

//文件是在DB基础上实现的,与表和文档没有关系

GridFS gridFS = new GridFS(db);

//2.查找条件

DBObject query = new BasicDBObject();

ListlistFile = gridFS.find(query);

GridFSDBFile gridFSDBFile = listFile.get(0);

//3.获取文件名

//注意:不是fs中的表的列名,而是根据调试gridDBFile中的属性而来

String fileName = (String)gridFSDBFile.get("filename");

System.out.println("从MongoDB获得的文件名为:"+fileName);

//4.创建空文件

File writeFile = new File("d:/"+fileName);

if(!writeFile.exists()){

writeFile.createNewFile();

}

//5.写入文件

gridFSDBFile.writeTo(writeFile);

}

}

图片位置:

mongoDB 数据库客户端

php如何从mongo获取视频文件,使用mongodb对文件(图片、音频、视频)的存储、读取操作...相关推荐

  1. 批量获取唯品会商品链接,详情页图片及视频保存技巧

    唯品会作为女性最爱逛的一个购物平台之一,深受大家的喜欢,于是很多商家纷纷入驻该平台,也有的人在里面开起了第二家.第三家店铺--其实以现在网络的发达性,我们早已可以用起辅助工具采集商品到店铺里,今天小编 ...

  2. 【Fastapi】批量上传文件(文档、图片、视频等)

    [Fastapi]批量上传文件 项目演示 功能说明 编程思路 重要知识点分析 源代码 项目演示 [Fastapi]批量上传文件(文档.图片.视频等) https://www.bilibili.com/ ...

  3. CTF-MISC文件隐写总结(图片,音频,视频,压缩包等文件)

    前置知识 file 命令根据文件头,识别文件类型,如果文件头前边有数据就识别不出来了 strings 输出文件中的可打印字符 可以发现一些提示信息或者特殊编码的信息 可以配合-o参数获取所有的ASCI ...

  4. mysql存储音频视频文件_如何在mysql 或者 其他的数据库中存放图片 音频 视频

    root@ytt:/var/lib/mysql-files# for i in `seq 1 100`; do cp 微信图片_20190711095019.jpg "$i".jp ...

  5. day10 多媒体(文字 图片 音频 视频)

    1计算机表示图形的几种方式 bmp:以高质量保存     用于计算机 jpg:以良好的质量保存    用于计算机或者网络 png:以高质量保存 图片大小的计算公式:图片的总像素*每个像素的大小     ...

  6. html5滚动字幕添加图片,抖音视频怎么加动态文字 竖版图片加视频及滚动字幕的方法...

    点击上方链接下载安装好需要的工具,在下载的压缩包里有安装提示给到大家,记得要看哟!那么小编在这里也简单提一下,安装时两个文件都要以管理员身份运行,安装前先关闭360等安全软件以免有文件被误删.打开界面 ...

  7. Android 调起文件,相册 实现选择图片与视频

    //调起所有文件 包括相册 视频 相机 录像private fun getAllFile() {//カメラの起動Intentの用意val photoName = System.currentTimeM ...

  8. 浏览器下载图片 前端下载图片/音频/视频/PDF等所有浏览器可以解析的文件格式;解决通过window.open打开链接后是新标签页面而不是下载文件;

    拷贝走 放上文件路径 直接使用(存在跨域的处理下跨域问题即可) this.$axios.get('要下载的文件路径', { responseType: 'blob'}).then(res=>{ ...

  9. php生成图片文件流,php 如何把图片转化为字节流存储到数据库?

    我看大家好像都没有好好回答这个问题,我曾经作为初学者的时候也有这个疑惑,我来做一下回答. 首先,数据库千万别存图片,数据库存储数据的字段设置得太大的话,数据库数据查询会非常慢. 另外,图片数据,你可以 ...

最新文章

  1. C# partial 关键字的使用
  2. 对 Redis 中的有序集合SortedSet的理解
  3. EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽
  4. jzoj4739-[雅礼联考GDOI2017模拟9.2]Ztxz16学图论【LCT,树状数组】
  5. sts-bundle的使用_使用WS-Trust / STS采样器扩展JMeter
  6. php文件写入加1,PHP关于文件与目录(1) 写入文件 文件权限 三、锁定文件
  7. String 类的重要方法与字段
  8. ASP.NET MVC V2 Preview 1 发布 期望VS有更好的表现
  9. python代码怎么变成软件_Python变成技术
  10. 使用dockerfile自动化构建镜像
  11. oa软件测试用例,OA标准系统测试用例.doc
  12. python入门指南txt-BeginnersGuide
  13. run (简单DP)
  14. Atitit 集团与个人的完整入口列表 attilax的完整入口 1. 集团与个人的完整入口列表 1 2. 流量入口概念 2 3. 流量入口的历史与发展 2 1.集团与个人的完整入口列表
  15. java分布式特点_java分布式架构是什么?分布式架构的优缺点有哪些?
  16. 根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
  17. matlab多边形检测_matlab实现多边形顶点凹凸性的识别
  18. Spring进阶(六):can not find proxy: set exposeproxy property on advised to make it available
  19. UG二次开发GRIP移动到图层
  20. Maven创建聚合项目

热门文章

  1. 基于 YOLOV3 和 OpenCV的目标检测
  2. NPM Unexpected end of JSON input while parsing near
  3. Git生成ssh密钥指定文件
  4. mybatis 显示 sql日志
  5. TCP系列05—连接管理—4、TCP连接的ISN、连接建立超时及TCP的长短连接
  6. solr之搭建企业搜索平台,配置文件详细solrconfig.xml
  7. mysql一对多增删改查_SQLAlchemy 增删改查 一对多 多对多
  8. 服务器java项目转移到另一个盘_将svn的项目从一台服务器转移到另外一台服务器...
  9. 三八妇女节PSD分层海报,来啦!
  10. 牛年春节海报怎么设计?psd分层模板,给你灵感!