Как я могу прочитать Blob в Spring Boot - PullRequest
0 голосов
/ 26 марта 2019

Я новичок в загрузке Spring и сохраняю несколько файлов в моей базе данных MySql, которая выглядит как показано ниже и работает нормально, а теперь я хочу получить сохраненные файлы

Я не понимаю, как я могу читать данные BLOB-объектов и как конвертировать их в URL для показа пользователям, может кто-нибудь помочь мне, пожалуйста, как я могу это сделать

Контроллер

@RequestMapping(value = "/getUser", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
@ResponseBody
public DBFile getUserById(@RequestBody DBFile dBFile ) {
    DBFile record = employeeRepository.findById(dBFile.getId());
    return record;
}

Репозиторий

public interface MultipartRepository1 extends JpaRepository<DBFile, Integer{}

DTO

@Entity
@Table(name = "files")
public class DBFile {

    @Id
    @GeneratedValue(generator = "uuid")
    @GenericGenerator(name = "uuid", strategy = "uuid2")
    private String id;
    private String file_name;
    private String file_type;
    @Lob
    private byte[] data;

    public DBFile() {

    }

    public DBFile(String file_name, String file_type, byte[] data) {
        this.file_name = file_name;
        this.file_type = file_type;
        this.data = data;
    }


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getFile_name() {
        return file_name;
    }

    public void setFile_name(String file_name) {
        this.file_name = file_name;
    }

    public String getFile_type() {
        return file_type;
    }

    public void setFile_type(String file_type) {
        this.file_type = file_type;
    }

    public byte[] getData() {
        return data;
    }

    public void setData(byte[] data) {
        this.data = data;
    }

}

Таблица

673e148e-a209-45c8-914c-7016dd59542f    BLOB    home_beach.jpg      image/jpeg
a55777bc-5fda-41a7-a589-3731ae418262    BLOB    beach-houses.jpg    image/jpeg
ce3f502c-f780-4a7d-a7d1-e678adfa367d    BLOB    theahotel_logo.png  image/png

1 Ответ

0 голосов
/ 26 марта 2019

Spring boot автоматически вернет ваше поле BLOB-объекта в виде строки base64, например

{"data": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAABfAAAAXwBsrqMZwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADdSURBVEiJtZTLCoUgEIZNaG90EfIFhXxTW6WbfJn/LA5xzOpUMg7MZmb4PvAyFWMMrGDwp4NSSqa1zpLgLqWU8N4DAIwxt/NJ/h9QSiGEAACw1kIIQSeI4fM8o2mat/BrQQxflgVd1+XAzwUpvO/7XPhRQAzfC2K4c44C/hOk8GEYKOBfQQz33lPCwdq2hXMOpYLXdc04f7wxsmK3CohezvGShRCw1gIA1nXFOI60goKSfaGA5Fgklpw3CCXXzVSilKIVpJIQQo7kfij+J9M00Qs2idb69RFVm6VUfACZhb1lipibXgAAAABJRU5ErkJggg=="}

Вы можете вернуть только это поле из конечной точки. Затем преобразуйте это в изображение в клиентском приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...