/**
* @Author: Joker
* @Date: 2022/11/915:12
*/
import com.wuweixian.mongodb.MongoUtils;
import com.mongodb.Block;
import com.mongodb.client.gridfs.GridFSBucket;
import com.mongodb.client.gridfs.GridFSUploadStream;
import com.mongodb.client.gridfs.model.GridFSFile;
import com.mongodb.client.gridfs.model.GridFSUploadOptions;
import org.bson.types.ObjectId;
import org.junit.Test;
import java.io.*;
import java.nio.file.Files;
public class WuweixianTestGridFS {
@Test
public void getFiles(){
GridFSBucket gridFSBucket = MongoUtils.getGridFSConn();
gridFSBucket.find().forEach(
new Block<GridFSFile>() {
public void apply(final GridFSFile gridFSFile) {
System.out.println(
"文件名:"+gridFSFile.getFilename()+" "
+"文件大小:"+gridFSFile.getLength()+" "
+"文件id:"+gridFSFile.getObjectId().toHexString());
}
});
}
@Test
public void uploadFile(){
GridFSBucket gridFSBucket = MongoUtils.getGridFSConn();
try {
//配置上传文件的参数
GridFSUploadOptions options = new GridFSUploadOptions()
.chunkSizeBytes(358400);//定义块大小
//创建上传文件流对象,并指定配置参数和文件在GridFS上显示的名称
GridFSUploadStream uploadStream = gridFSBucket.openUploadStream("wuweixian.mp4", options);
//一次性读取文件,将文件转为Byte[]包含文件内容的字节数组
byte[] data = Files.readAllBytes(new File("C:\\Users\\Administrator\\Desktop\\GridFS_wuweixian\\wuweixian.mp4").toPath());
//以字节数组形式上传文件流到GridFS
uploadStream.write(data);
//关闭流
uploadStream.close();
System.out.println("文件id为: " + uploadStream.getObjectId().toHexString());
} catch(IOException e){
// handle exception
}
}
@Test
public void downlodFile(){
GridFSBucket gridFSBucket = MongoUtils.getGridFSConn();
try {
//创建文件输出流对象streamToDownloadTo,指定下载的本地路径及文件名
FileOutputStream streamToDownloadTo =
new FileOutputStream("C:\\Users\\Administrator\\Desktop\\GridFS_wuweixian\\dbdown_wuweixian.mp4");
/**
* 通过GridFS中的文件名称下载文件,如果有重名文件则默认下载最新版
* GridFSDownloadOptions downloadOptions = new GridFSDownloadOptions().revision(0);
* gridFSBucket.downloadToStream("Reids.avi", streamToDownloadTo, downloadOptions);
*/
//通过GridFS中的文件id以数据流的形式下载文件,并将数据流传给输出流对象streamToDownloadTo
gridFSBucket.downloadToStream(
new ObjectId("654c85659baa753d51b015df"), streamToDownloadTo);
//关闭流
streamToDownloadTo.close();
} catch (IOException e) {
// handle exception
}
}
@Test
public void renameFile(){
GridFSBucket gridFSBucket = MongoUtils.getGridFSConn();
gridFSBucket.rename(
new ObjectId("654c85659baa753d51b015df"),"wuweixian_new.mp4");
}
@Test
public void delFile(){
GridFSBucket gridFSBucket = MongoUtils.getGridFSConn();
gridFSBucket.delete(new ObjectId("654c8313e7c41a3c0097df74"));
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
GridFS_wuweixian.rar (22个子文件)
GridFS_wuweixian
pom.xml 1KB
dbdown_wuweixian.mp4 0B
src
test
java
WuweixianTestGridFS.java 4KB
main
resources
mongodb.properties 54B
java
com
wuweixian
mongodb
MongoUtils.java 4KB
webapp
WEB-INF
web.xml 222B
index.jsp 57B
.idea
jarRepositories.xml 880B
workspace.xml 5KB
misc.xml 541B
compiler.xml 549B
.gitignore 190B
encodings.xml 267B
target
classes
mongodb.properties 54B
com
wuweixian
mongodb
MongoUtils.class 3KB
lvfuzheng
mongodb
MongoUtils.class 3KB
test-classes
WuweixianTestGridFS.class 4KB
lvfuzhengTestGridFS$1.class 2KB
WuweixianTestGridFS$1.class 2KB
lvfuzhengTestGridFS.class 3KB
generated-test-sources
test-annotations
generated-sources
annotations
nosql_chapter06.iml 1KB
wuweixian.mp4 0B
共 22 条
- 1
资源评论
无危险
- 粉丝: 229
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功