Java 使用mongodb GridFS存图片怎么存
时间: 2023-12-19 18:06:23 浏览: 41
使用Java操作MongoDB GridFS存储图片可以分为以下几个步骤:
1. 首先需要创建MongoDB的Java驱动程序依赖,可以使用Maven等工具进行添加。
2. 连接MongoDB数据库,可以使用MongoClient类进行连接。
```java
MongoClient mongoClient = new MongoClient("localhost", 27017);
```
3. 获取GridFSBucket对象,GridFSBucket是一个用于存储大文件的类,可以通过它来上传和下载文件。
```java
MongoDatabase db = mongoClient.getDatabase("test");
GridFSBucket gridFSBucket = GridFSBuckets.create(db);
```
4. 创建一个文件输入流,用于读取本地图片文件。
```java
File file = new File("test.jpg");
FileInputStream inputStream = new FileInputStream(file);
```
5. 使用GridFSBucket对象的uploadFromStream方法上传图片。
```java
ObjectId fileId = gridFSBucket.uploadFromStream("test.jpg", inputStream);
```
6. 关闭输入流和MongoDB连接。
```java
inputStream.close();
mongoClient.close();
```
完整代码示例:
```java
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.gridfs.GridFSBucket;
import com.mongodb.client.gridfs.GridFSBuckets;
import org.bson.types.ObjectId;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class GridFSExample {
public static void main(String[] args) throws IOException {
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase db = mongoClient.getDatabase("test");
GridFSBucket gridFSBucket = GridFSBuckets.create(db);
File file = new File("test.jpg");
FileInputStream inputStream = new FileInputStream(file);
ObjectId fileId = gridFSBucket.uploadFromStream("test.jpg", inputStream);
inputStream.close();
mongoClient.close();
System.out.println("File uploaded with id: " + fileId);
}
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)