SpringBoot上传/获取图片以Blob形式
前言
最近需要用到上传图标的功能,由于数据量较小,所以直接存储在数据库中,踩了很多坑,以此记录一下
说明
我用的是MariaDB数据库,版本是10.4.0,和Mysql是一样的,下面以kotlin来举例说明,其他语言可对照参考
Mysql的Blob类型
MySQL有四种BLOB类型:
·tinyblob:仅255个字符
·blob:最大限制到65K字节
·mediumblob:限制到16M字节
·longblob:可达4GB
SpringBoot的配置
#配置文件传输
spring:
servlet:
multipart:
enabled: true
#单个文件的大小
max-file-size: 20MB
#总数据的大小
max-request-size: 20MB
实体结构
@Table(name = "picture")
open class Picture: Serializable {
private val serialVersionUID = 1L
/** id */
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
var id: Int? = null
@JSONField(name =