java + MongoDB实现存图片,下载图片的方法示例

  

本文实例讲述了java + MongoDB实现存图片,下载图片的方法。分享给大家供大家参考,具体如下:

  

  

演示:将某个文件存到mongoDB,这个文件可以通过前台参数传入,我这里直接将D://test.png存到mongoDB

        @RequestMapping ("/addFile”)   @ResponseBody   公共字符串addFile () {   MongoClient客户=new MongoClient (127.0.0.1, 27017);   DB DB=client.getDB(“文件”);   GridFS fs=new GridFS (db);   尝试{   GridFSInputFile GridFSInputFile=fs。它仅仅(新文件(“D://test.png "));   gridFSInputFile.setFilename (“db_test.png”);   gridFSInputFile.save ();   }捕捉(IOException e) {   e.printStackTrace ();   }   返回“文件”;   }      之前      

执行后,可看到图片已经存入成功:

  

 java + MongoDB实现存图片,下载图片的方法示例

  

  

需要指定图片id,可从前端参数传入,我这里写死(上一步存图片,对应了一个mongoDB中的files_id):

        @RequestMapping ("/downFile”)   公共空间downFile (HttpServletResponse响应){   字符串"=" 5 c0f7c374fc404123403d69e”;//这里可以通过参数取代   尝试{   MongoClient客户=new MongoClient (127.0.0.1, 27017);   DB DB=client.getDB(“文件”);   GridFS fs=new GridFS (db);   GridFSDBFile GridFSDBFile=fs。findOne(新ObjectId ("));   OutputStream sos=response.getOutputStream ();   response.setContentType(“应用程序/八进制”);//获取原文件名   字符串名称=(字符串)gridFSDBFile.get(“文件名”);   字符串文件名=新的字符串(name.getBytes (“GBK”)、“ISO8859-1”);//设置下载文件名   响应。addHeader(“附加”、“依恋;文件名=\ " +文件名+ " \ ");//向客户端输出文件   gridFSDBFile.writeTo (sos);   sos.flush ();   sos.close ();   }捕捉(IOException e) {   e.printStackTrace ();   }   }      之前      

更多的java相关内容感兴趣的读者可查看本站专题:《java图片操作技巧汇总》、《java日期与时间操作技巧汇总》、《java操作DOM节点技巧总结》,《java文件与目录操作技巧汇总》及《java数据结构与算法教程》。

  

希望本文所述对大家java程序设计有所帮助。

java + MongoDB实现存图片,下载图片的方法示例