资源简介
由于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的招聘网站毕业设计
- javaEE管理系统项目源码
- 超强java雷电游戏
- Java 人事管理系统源代码+详细设计文
- snlc编译器 c java
- 权限管理模块
- swing java gui图形插件
- java个人资产管理系统
- java编写的科学计算器
- Java DVD租赁系统.rar
- java 订单管理系统
- Java 网络版五子棋含源代码
- Beginning Cryptography With Java 带源码
- 基于JavaEE的网上订餐系统
- 汽车销售系统java应用程序+SQL2000数据
- JAVA做的学校教务管理系统
- 基于java坦克大战课程设计报告.doc
- java+mysql+servlet图书管理系统
- java电子商务系统(毕业论文+项目)
- 基于JAVA的聊天系统的设计与实现+毕业
- 用JSP、JavaBean做的宠物医院系统
- 学生管理系统——Servlet实现,代码和
- JAVA教材管理系统
- 完整图书管理系统J2EE
- JAVA版拼图游戏源代码
- 手机销售系统-源代码及数据库
- 学生成绩管理系统+java+oracle
- mysql-connector-java-5.1.13
- Java+jsp+SQL server2000 网上商城
- 网上购物系统。javaweb,全部代码
评论
共有 条评论