本文实例讲述了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 (); } 返回“文件”; } >之前执行后,可看到图片已经存入成功:
需要指定图片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实现存图片,下载图片的方法示例