Springboot文件上传,csdn上的方法无非是下面这两个:
// 方法一
imgFile.transferTo(imageFolder);
/**
* 方法二
*
*/
FileUtils.copyInputStreamToFile(imgFile.getInputStream(), imageFolder)
但是仍然报错,此刻我单独使用语句方法getInputStream( )上传txt,依然是这个错,指向了Temp临时文件夹里,百思不得其解,最终发现了是没有开启Springboot配置。
解决
在application.properties配置文件中,开启文件上传选项
## MULTIPART (MultipartProperties)
# 开启 multipart 上传功能
spring.servlet.multipart.enabled=true
# 文件写入磁盘的阈值
spring.servlet.multipart.file-size-threshold=2KB
# 最大文件大小
spring.servlet.multipart.max-file-size=200MB
# 最大请求大小
spring.servlet.multipart.max-request-size=215MB
# 文件存储所需参数
# 所有通过 REST API 上传的文件都将存储在此目录下
file.upload.path=D:/ideaProject/MusicWebSpringboot/image
使用getInputStream( )读取txt文件已经成功了,但当我上传图片时依然报错,此时需要增加上面的文件写入磁盘的阈值
spring.servlet.multipart.file-size-threshold=5MB
然后 方法一和方法二都不会报错了
同时记录一下Springboot访问静态服务器资源的配置
# 静态资源访问配置
# 访问映射路径
spring.mvc.static-path-pattern=/image/**
# 访问真实本地路径
spring.resources.static-locations=file:D://ideaProject/MusicWebSpringboot/image/