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

}

相关推荐
2301_780789663 小时前
跨平台适配!SDK 游戏盾兼容全终端游戏场景
java·网络·ddos
第九序言T4 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
学长毕设4 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
步行cgn5 小时前
FormHttpMessageConverter 详解:Spring MVC 中表单数据的读写转换器
java·spring·mvc
龙亘川5 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
金銀銅鐵5 小时前
[Java] 用 CLI 展示 EnumMap 增删键值对时的内部变化
java·源码·ai编程
程序喵大人5 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
秋天的怀念_David5 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas1006 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
niucloud-admin6 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php