学堂 学堂 学堂公众号手机端

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

lewis 1年前 (2024-04-09) 阅读数 12 #技术
关于“MongoDB中对图片的常见操作有哪些,怎么实现”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。


以下是对于图片的一些基本操作:

1、存储图片

//存储文件信息
GridFSgridFS=newGridFS(MongoDBUtil.getDB(),"test");
FilelocalFile=newFile("d://test.jpg");
GridFSInputFileoneFile=gridFS.createFile(localFile);
oneFile.setFilename("test.jpg");
//配置文件属性
SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//设置日期格式
BasicDBObjectmetadata=newBasicDBObject();
metadata.put("uploadDate",df.format(newDate()));
oneFile.setMetaData(metadata);//添加属性
oneFile.save();//保存文件

2、根据文件ID读取图片

//存储文件信息
GridFSgridFS=newGridFS(MongoDBUtil.getDB(),"test");
//读取文件
GridFSDBFileoutFile=gridFS.findOne(newObjectId(request.getParameter("id")));
//System.out.println(outFile);

3、根据MetaData属性查找图片

//
GridFSgridFS=newGridFS(MongoDBUtil.getDB(),"test");
//查找条件
BasicDBObjectquery=newBasicDBObject("metadata.pkid","1123");
List<GridFSDBFile>listFiles=gridFS.find(query);
System.out.println(listFiles);
System.out.println(listFiles.size());

4、显示图片

@RequestMapping(value="/show")
publicvoidshow(HttpServletRequestrequest,HttpServletResponseresponse){
try{
OutputStreamout=response.getOutputStream();
response.setContentType("image/jpg");
GridFSgridFS=newGridFS(MongoDBUtil.getDB(),"test");
//读取文件
GridFSDBFileoutFile=gridFS.findOne(newObjectId(request.getParameter("id")));
//System.out.println(outFile);
if(outFile!=null){
outFile.writeTo(out);
out.flush();
out.close();
}
}catch(Exceptione){
e.printStackTrace();
}
}

到此这篇关于“MongoDB中对图片的常见操作有哪些,怎么实现”的文章就介绍到这了,更多相关内容请搜索博信以前的文章或继续浏览下面的相关文章,希望大家以后多多支持博信!
版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门