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

}

相关推荐
Kisorge9 分钟前
【C语言】指针数组、数组指针、函数指针、指针函数、函数指针数组、回调函数
c语言·开发语言
路在脚下@43 分钟前
spring boot的配置文件属性注入到类的静态属性
java·spring boot·sql
森屿Serien1 小时前
Spring Boot常用注解
java·spring boot·后端
轻口味1 小时前
命名空间与模块化概述
开发语言·前端·javascript
苹果醋32 小时前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
晓纪同学2 小时前
QT-简单视觉框架代码
开发语言·qt
威桑2 小时前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别
开发语言·qt·扩张策略
Hello.Reader2 小时前
深入解析 Apache APISIX
java·apache
飞飞-躺着更舒服2 小时前
【QT】实现电子飞行显示器(简易版)
开发语言·qt
明月看潮生2 小时前
青少年编程与数学 02-004 Go语言Web编程 16课题、并发编程
开发语言·青少年编程·并发编程·编程与数学·goweb