[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());

}

相关推荐
wuxuanok4 分钟前
Web后端开发-分层解耦
java·笔记·后端·学习
kyle~36 分钟前
C/C++字面量
java·c语言·c++
纨妙41 分钟前
python打卡day59
开发语言·python
neoooo1 小时前
别慌,Java只有值传递——一次搞懂“为啥我改了它还不变”!
java·后端·spring
秋难降1 小时前
Python 知识 “八股”:给有 C 和 Java 基础的你😁😁😁
java·python·c
wuxuanok1 小时前
Web后端开发-请求响应
java·开发语言·笔记·学习
livemetee1 小时前
spring-ai 1.0.0 (3)交互增强:Advisor 顾问模块
java
DDDDDouble1 小时前
<二>Sping-AI alibaba 入门-记忆聊天及持久化
java·人工智能
Sally璐璐1 小时前
IPSAN 共享存储详解:架构、优化与落地实践指南
开发语言·php
像风一样的男人@1 小时前
python --货车装厢问题
开发语言·python