资源简介
由于MongoDB的版本3.3之后,原来的GridFS的getDB()已经被废除了,所以自己花费了梁哥小时,写了GridFSBucket的方法,试下按照文件名和ObjectID的下载方法!希望对你们有用!

代码片段和文件信息
package MongoTest;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.gridfs.GridFSBucket;
import com.mongodb.client.gridfs.GridFSBuckets;
import com.mongodb.client.gridfs.model.GridFSUploadOptions;
import org.bson.Document;
import org.bson.types.objectId;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/**
* Created by liu on 2017-9-8.
*/
public class MogoUp {
public static void main(String[] args) throws IOException {
//连接MongoDB
//连接数据库
List list = new ArrayList();
// 连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址
// ServerAddress()两个参数分别为 服务器地址 和 端口
ServerAddress serverAddress = new ServerAddress(“169.254.123.90“ 27017);
List addrs = new ArrayList();
addrs.add(serverAddress);
MongoCredential credential = MongoCredential.createScramSha1Credential(“sa“ “admin“ “xush“.toCharArray());
List credentials = new ArrayList();
credentials.add(credential);
MongoClient client = new MongoClient(addrs credentials);
//链接测试
MongoDatabase db = client.getDatabase(“lhc“);
MongoCollection coll = db.getCollection(“test“);
//上传文件
InputStream in = null;
String FileName = “C:\\Users\\liu\\Desktop\\CREC2010.svg“;
File file = new File(FileName);
String fileName = file.getName();
String fileType = fileName.substring(fileName.lastIndexOf(“.“) fileName.length());
in = new FileInputStream(file);
GridFSBucket bucket = GridFSBuckets.create(db);
GridFSUploadOptions options = new GridFSUploadOptions();
//设置去除fileName之外的其他信息
Document metadata = new Document();
metadata.append(“contentType“ fileType);
options.metadata(metadata);
objectId objectId = bucket.uploadFromStream(fileName in options);
System.out.println(objectId);
System.out.println(“上传成功“);
//文件下载
OutputStream os = null;
String files = “C:\\Users\\liu\\Desktop\\CREC209.svg“;
File file2 = new File(files);
if (!file2.exists()) {
file2.createNewFile();
}
os = new FileOutputStream(file2);
GridFSBucket bucket3 = GridFSBuckets.create(db);
// bucket3.downloadToStream(new objectId(objectId.toString())os); //根据objectID
bucket3.downloadToStream(fileName os); //根据文件名
System.out.println(“下载成功“);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-09-08 17:34 mongoDB上传大文件和下载文件\
文件 2947 2017-09-08 17:34 mongoDB上传大文件和下载文件\MogoUp.java
文件 1814408 2017-09-08 15:25 mongoDB上传大文件和下载文件\mongo-java-driver-3.5.0.jar
相关资源
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
评论
共有 条评论