[java][代码]使用java在mongodb上传下载文件

  1. 建立java项目
  2. 新建lib包,导入jar包

3.链接mongdo数据库代码

/**

* 1.获取连接

* 2.上传文件

* 3.下载文件

* 4.删除文件

*

*/

public static GridFS GetMongoGridFS(){

List<ServerAddress> adds = new ArrayList<>();

ServerAddress serverAddress = new ServerAddress("192.168.1.100", 27017);

adds.add(serverAddress);

List<MongoCredential> credentials = new ArrayList<>();

//MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码

MongoCredential mongoCredential = MongoCredential.createScramSha1Credential("uname", "mg", "pw".toCharArray());

credentials.add(mongoCredential);

//通过连接认证获取MongoDB连接

MongoClient ++mongoClient++ = new ++MongoClient++++(++++adds++ ++,++ ++credentials++ ++)++ ;

//连接到数据库

DB mongoDatabase = mongoClient.++getDB++++(++++"testdb"++ ++)++ ;

GridFS myFS = new GridFS(mongoDatabase);

return myFS;

}

上传文件

/**

* @return

* 上传文件

* @Title : UploadFile

* @Description : TODO (这里用一句话描述这个方法的作用)

* @param : @param file

* @return : void

* @throws

*/

public String UploadFile(File file) {

try {

GridFS gridFS = GetMongoGridFS();

GridFSFile mgupfile = gridFS.createFile(file);

mgupfile.save();

return mgupfile.getId().toString();

} catch (Exception e) {

return null ;

}

}

下载文件

/**

* 下载文件

* @Title : DownloadFile

* @Description : TODO (这里用一句话描述这个方法的作用)

* @param : @param objectid

* @param : @return

* @return : String

* @throws

*/

public String DownloadFile(String objectid) {

try {

GridFS gridFS = GetMongoGridFS();

GridFSDBFile file2 =gridFS.findOne(new ObjectId(objectid));

String filename="D:/tmp/5"+file2.getFilename();

long writeTo = file2.writeTo(new File(filename));

if (writeTo>=0){

return filename;

}else {

return null ;

}

} catch (Exception e) {

return null ;

}

}

删除文件

/**

* 删除文件

* @Title : DeleteFile

* @Description : TODO (这里用一句话描述这个方法的作用)

* @param : @param objectid

* @param : @return

* @return : String

* @throws

*/

public void DeleteFile(String objectid) {

GridFS gridFS = GetMongoGridFS();

GridFSDBFile file =gridFS.findOne(new ObjectId("5c4fed8064873a4a68427f93"));

gridFS.remove((ObjectId) file.getId());

}

相关推荐
BillKu9 分钟前
Java中List的forEach用法详解
java·windows·list
重生之后端学习11 分钟前
苍穹外卖-day03
java·开发语言·数据库·spring boot·mysql·spring·tomcat
程序员阿超的博客18 分钟前
【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权
java·spring boot·安全·spring
超大力王36 分钟前
DAY 45 超大力王爱学Python
开发语言·python
林-梦璃37 分钟前
Python开发基础手语识别(基础框架版)
开发语言·python·手语识别
异常君39 分钟前
Java 应用中构建 Elasticsearch 多层次缓存:提升查询效率的实战方案
java·elasticsearch·架构
橘子编程1 小时前
Maven从入门到精通指南
java·maven
追风赶月、1 小时前
【QT】信号和槽
开发语言·qt
wodownload21 小时前
CS003-2-2-perfermance
java·开发语言·jvm
想用offer打牌1 小时前
面试官拷打我线程池,我这样回答😗
java·后端·面试