91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java+MongoDB實現存圖片、下載圖片的方法示例

發布時間:2020-10-07 07:38:06 來源:腳本之家 閱讀:223 作者:yqwang75457 欄目:編程語言

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

1.存圖片

demo:將某個文件存到mongoDB,這個file可以通過前臺參數傳入,我這里直接將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";
}

執行后,可看到圖片已經存入成功:

java+MongoDB實現存圖片、下載圖片的方法示例

2.下載圖片

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

@RequestMapping("/downFile")
  public void downFile(HttpServletResponse response){
    String fileId = "5c0f7c374fc404123403d69e";//這里可以通過參數取代
    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");
      // 設置下載文件名
      response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
      // 向客戶端輸出文件
      gridFSDBFile.writeTo(sos);
      sos.flush();
      sos.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

更多java相關內容感興趣的讀者可查看本站專題:《Java圖片操作技巧匯總》、《java日期與時間操作技巧匯總》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》及《Java數據結構與算法教程》。

希望本文所述對大家java程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石屏县| 襄汾县| 安泽县| 福州市| 准格尔旗| 醴陵市| 长寿区| 若尔盖县| 赤壁市| 湘潭县| 策勒县| 聂荣县| 龙口市| 叶城县| 嫩江县| 杭锦后旗| 宾阳县| 科技| 玉田县| 凌云县| 丰都县| 新和县| 西贡区| 观塘区| 锦州市| 郁南县| 开平市| 治县。| 海丰县| 宜城市| 西华县| 门源| 金溪县| 武威市| 西乡县| 霍林郭勒市| 新泰市| 望江县| 雷波县| 临清市| 苗栗市|