加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

MongoDB中对图片的常见操作有哪些,怎么完美实现

发布时间:2023-09-06 14:15:29 所属栏目:系统 来源:
导读:关于“MongoDB中对图片的常见操作有哪些,怎么实现”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的
关于“MongoDB中对图片的常见操作有哪些,怎么实现”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。
 
以下是对于图片的一些基本操作:
 
1、存储图片
 
// 存储文件信息
 
GridFS gridFS = new GridFS(MongoDBUtil.getDB(), "test");
 
File localFile = new File("d://test.jpg");
 
GridFSInputFile oneFile = gridFS.createFile(localFile);
 
oneFile.setFilename("test.jpg");
 
// 配置文件属性
 
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
 
BasicDBObject metadata = new BasicDBObject();
 
metadata.put("uploadDate", df.format(new Date()));
 
oneFile.setMetaData(metadata);//添加属性
 
oneFile.save();//保存文件
 
2、根据文件ID读取图片
 
// 存储文件信息
 
GridFS gridFS = new GridFS(MongoDBUtil.getDB(), "test");
 
// 读取文件
 
GridFSDBFile outFile = gridFS.findOne(new ObjectId(request.getParameter("id")));
 
//System.out.println(outFile);
 
3、根据MetaData属性查找图片
 
//
 
GridFS gridFS = new GridFS(MongoDBUtil.getDB(), "test");
 
//查找条件  
 
BasicDBObject query = new BasicDBObject("metadata.pkid", "1123");
 
List<GridFSDBFile> listFiles = gridFS.find(query);
 
System.out.println(listFiles);
 
System.out.println(listFiles.size());
 
4、显示图片
 
    @RequestMapping(value = "/show")  
 
    public void show(HttpServletRequest request, HttpServletResponse response){
 
try {
 
OutputStream out = response.getOutputStream();
 
response.setContentType("image/jpg");
 
GridFS gridFS = new GridFS(MongoDBUtil.getDB(), "test");
 
// 读取文件
 
GridFSDBFile outFile = gridFS.findOne(new ObjectId(request.getParameter("id")));
 
//System.out.println(outFile);
 
if(outFile!=null){
 
outFile.writeTo(out);
 
out.flush();
 
out.close();
 
}
 
} catch (Exception e) {
 
e.printStackTrace();
 
}
 
}
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章