在MongoDB中存储编码为base64的大图像文件

问题描述 投票:0回答:1

我使用带有mongoDB的spring boot应用程序作为存储,并希望存储编码为base64字符串的大型图像文件。据我所知,mongoDB只能存储最大16MB的文件,因此我必须使用gridfs。在多个页面和教程中,他们存储文件,但我从未找到使用gridfs存储对象的示例。

基本示例:

public class Student {

private String firstName;
private String lastName;
private String image;

public String getFirstName() {
    return firstName;
}
public void setFirstName(String firstName) {
    this.firstName = firstName;
}
public String getLastName() {
    return lastName;
}
public void setLastName(String lastName) {
    this.lastName = lastName;
}
public String getImage() {
    return image;
}
public void setImage(String image) {
    this.image = image;
}
}

我是否必须将图像值分别存储为此处提到的inputStream:

https://www.baeldung.com/spring-boot-mongodb-upload-file

或者还有其他方法吗?

mongodb image spring-boot gridfs
1个回答
0
投票

如果要存储完整的对象,请执行以下步骤:

仅将文件存储在gridfs中,它将返回一个参考值

    将引用的ID添加到您的对象并将其存储到mongoDB中的其他文档中
© www.soinside.com 2019 - 2024. All rights reserved.