中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

盐池县| 罗江县| 长顺县| 横峰县| 木兰县| 繁昌县| 沛县| 济南市| 武平县| 丹棱县| 大埔区| 黄梅县| 临沭县| 济阳县| 江山市| 连平县| 浦东新区| 蚌埠市| 依兰县| 皮山县| 德惠市| 安庆市| 大余县| 湖口县| 汨罗市| 阳信县| 湖北省| 石阡县| 紫金县| 衡东县| 奉贤区| 牙克石市| 和平区| 柞水县| 云梦县| 介休市| 西乡县| 平江县| 栾城县| 大埔县| 新巴尔虎右旗|