由于在项目中遇到了文件存储,所以尝试用了数据库的blob类型进行存储,在项目上线的过程中出现了一些问题,记录以下可能遇到的坑点:
blob大小限制
注意一下默认的BLOB大小只有65K,对存储图片而言远远不够
TinyBlob 最大 255B
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G
部署到服务器时上传出错
由于我运用的是springboot,在上传文件时发生了 java.io.EOFException: Unexpected EOF read on the socket错误,所以我记录一下我的问题是如何解决的。
- 在application.yml配置文件里加上一个tomcat连接时长
server:
connection-timeout: 18000000
(或者是 connectionTimeout: 18000000)
- 新建配置类
注意一下此处需要使用DataSize.ofMegabytes(),在网上的教程中使用的直接都是int型的数字,但在springboot5.0中已经不支持了。
@Configuration
@Service
public class CommonConfig {
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setMaxFileSize(DataSize.ofMegabytes(大小));
}