Храните большие файлы изображений, закодированные как base64 в MongoDB - PullRequest
1 голос
/ 13 февраля 2020

Я использую приложение весенней загрузки с mongoDB в качестве хранилища и хочу хранить большие файлы изображений, закодированные как строки base64. Как я знаю, mongoDB может хранить файлы размером до 16 МБ, поэтому я должен использовать gridfs. На нескольких страницах и в учебниках они хранят файлы, но я никогда не нашел пример для хранения объектов с помощью gridfs.

Basi c пример:

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

Или есть другие подходы?

1 Ответ

1 голос
/ 13 февраля 2020

мета-данные можно хранить с помощью gridfs

ИЛИ

, если вы хотите сохранить законченный объект, выполните следующие действия:

  1. сохраните только файл в gridfs it вернёт refernceid
  2. , добавит ссылочный идентификатор к вашему объекту и сохранит его в другом документе в mongoDB
...