欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java+MongoDB實(shí)現(xiàn)存圖片、下載圖片的方法示例

 更新時(shí)間:2019年09月02日 10:33:28   作者:yqwang75457  
這篇文章主要介紹了java+MongoDB實(shí)現(xiàn)存圖片、下載圖片的方法,結(jié)合實(shí)例形式詳細(xì)分析了java結(jié)合MongoDB實(shí)現(xiàn)圖片的存儲與下載相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了java+MongoDB實(shí)現(xiàn)存圖片、下載圖片的方法。分享給大家供大家參考,具體如下:

1.存圖片

demo:將某個(gè)文件存到mongoDB,這個(gè)file可以通過前臺參數(shù)傳入,我這里直接將D://test.png存到mongoDB

@RequestMapping("/addFile")
@ResponseBody
public String addFile(){
    MongoClient client = new MongoClient("127.0.0.1",27017);
    DB db = client.getDB("files");
    GridFS fs = new GridFS(db);
    try {
      GridFSInputFile gridFSInputFile = fs.createFile(new File("D://test.png"));
      gridFSInputFile.setFilename("db_test.png");
      gridFSInputFile.save();
    } catch (IOException e) {
      e.printStackTrace();
    }
    return "file over";
}

執(zhí)行后,可看到圖片已經(jīng)存入成功:

2.下載圖片

需要指定圖片id,可從前端參數(shù)傳入,我這里寫死(上一步存圖片,對應(yīng)了一個(gè)mongoDB中的files_id):

@RequestMapping("/downFile")
  public void downFile(HttpServletResponse response){
    String fileId = "5c0f7c374fc404123403d69e";//這里可以通過參數(shù)取代
    try {
      MongoClient client = new MongoClient("127.0.0.1",27017);
      DB db = client.getDB("files");
      GridFS fs = new GridFS(db);
      GridFSDBFile gridFSDBFile = fs.findOne(new ObjectId(fileId));
      OutputStream sos = response.getOutputStream();
      response.setContentType("application/octet-stream");
      // 獲取原文件名
      String name = (String) gridFSDBFile.get("filename");
      String fileName = new String(name.getBytes("GBK"), "ISO8859-1");
      // 設(shè)置下載文件名
      response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
      // 向客戶端輸出文件
      gridFSDBFile.writeTo(sos);
      sos.flush();
      sos.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java圖片操作技巧匯總》、《java日期與時(shí)間操作技巧匯總》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》及《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》。

希望本文所述對大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論