创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
易门ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!小编给大家分享一下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(); //查询的结果: Listlistfiles = 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中插入图片的方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道,感谢各位的阅读!