一、使用命令行操作GridFS
1、先在C:\Program Files\MongoDB\Server\4.2\bin目录下建文件“哈哈.ppt”
2、上传文件
3、查看文件信息
4、查看块信息
5、 查看块内容
6、下载文件
二、Java访问GirdFS
1、在桌面建“哈哈.ppt文件”
2、Java代码如下:
public class Main {
public static void main(String[] args) {
//上传文件
//uploadFile();
//下载文件
downLoadFile();
}
private static void downLoadFile() {
// TODO Auto-generated method stub
MongoClient mongoClient = new MongoClient();
MongoDatabase myDataBase = mongoClient.getDatabase("gridfs");
GridFSBucket gridFSBucket = GridFSBuckets.create(myDataBase);
try {
FileOutputStream outputStream = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\haha.ppt");
ObjectId id = new ObjectId("607e4c78912d0f0e841bd876");
gridFSBucket.downloadToStream(id,outputStream);
outputStream.flush();
outputStream.close();
System.out.println("下载成功");
}catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static void uploadFile() {
// TODO Auto-generated method stub
MongoClient mongoClient = new MongoClient();
MongoDatabase myDataBase = mongoClient.getDatabase("gridfs");
GridFSBucket gridFSBucket = GridFSBuckets.create(myDataBase);
try {
InputStream inputStream = new FileInputStream("C:\\Users\\Administrator\\Desktop\\哈哈.ppt");
GridFSUploadOptions options = new GridFSUploadOptions().
chunkSizeBytes(358400).metadata(new Document("type","ppt"));
ObjectId id = gridFSBucket.uploadFromStream("哈哈.ppt", inputStream,options);
System.out.println("上传成功 "+ id.toString());
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3、结果: