小編給大家分享一下mongodb中插入圖片的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討方法吧!
圖片存儲方案:
mongodb操作文件,主要是通過GridFS類。存儲文件主要存放在fs中,其中的fs是數據庫默認的。并且GridFS是直接與數據庫打交道,與collection集合無關。
maven中引入mongodb jar包
public class MongoImgStore {
public static void main(String[] args) throws Exception {
//saveImgFile();
readImgFile();
}
public static void saveImgFile() throws Exception {
//連接服務器 ,線上肯定是帶單獨的ip 應該這樣使用 Mongo("ip")
Mongo mongo = new Mongo();
//連接數據庫
DB db = mongo.getDB("ImgGridFS");
//文件操作是在DB的基礎上實現的,與表和文檔沒有關系
GridFS gridFS = null;
gridFS = new GridFS(db);
String fileName = "79831-uwceV8R.jpg";
File readFile = new File("F:\\360data\\重要數據\\桌面\\page\\" + fileName);
GridFSInputFile mongofile = gridFS.createFile(readFile);
//可以再添加屬性
mongofile.put("path", "F:\\360data\\重要數據\\桌面\\" + fileName);
//保存
mongofile.save();
}
public static void readImgFile() throws Exception {
//鏈接服務器
Mongo mongo = new Mongo();
//連接數據庫
DB db = mongo.getDB("ImgGridFS");
GridFS gridFs = null;
gridFs = new GridFS(db);
//查找條件
DBObject query = new BasicDBObject();
//查詢的結果:
List<GridFSDBFile> listfiles = gridFs.find(query);
GridFSDBFile gridDBFile = listfiles.get(0);
//獲得其中的文件名
//注意 : 不是fs中的表的列名,而是根據調試gridDBFile中的屬性而來
String fileName = (String) gridDBFile.get("filename");
System.out.println("從Mongodb獲得文件名為:" + fileName);
File writeFile = new File("F:\\360data\\重要數據\\桌面\\page\\" + fileName);
if (!writeFile.exists()) {
writeFile.createNewFile();
}
System.out.println("可以訪問的地址:"+writeFile.getAbsoluteFile());
System.out.println("總占用空間:"+writeFile.getTotalSpace());
System.out.println("總占用空間:"+gridDBFile.getInputStream());
//把數據寫入磁盤中
//查看相應的提示
gridDBFile.writeTo("F:\\360data\\重要數據\\桌面\\page\\lovemm.jpg");
//寫入文件中
gridDBFile.writeTo(writeFile);
}以上先保存圖片到mongodb中,在MongoVUE中查看,我們保存了兩次,直接雙擊圖片也是能顯示的

看完了這篇文章,相信你對mongodb中插入圖片的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。