文件上传
- 简介
指将本地图片、视频、音频等文件上传到服务器,供其他用户浏览或下载的过程。
@RestController
public class UploadController{
@PostMapping("/upload")
public Result upload(String username,Integer age,MultipartFile image){
//获取文件的名字
String originalFilename=image.getOriginalFilename();
//构建新的文件名
String newFilename=UUID.randomUUID().toString()+originalFilename.substring(originalFilename.lastIndexOf("."));
//将文件存储在服务器的磁盘目录中
image.transferTo(new File("D:\\images\\"+newFilename));
return Result.success();
}
}
- 本地存储
在服务端,接收到上传上来的文件之后,将文件存储在本地服务器磁盘中。
在SpringBoot中,文件上传,默认单个文件允许最大大小为1M,如果需要上传大文件,可以进行如下配置:
#配置单个文件最大上传大小
spring.servlet.multipart.max-file-size=10MB
#配置单个请求最大上传大小(一次请求可以上传多个文件)
spring.servlet.multipart.max-request-size=100MB
在实际中不用本地存储,原因:
无法直接访问、磁盘存储满了不方便扩容、磁盘坏了容易丢失数据。
- 阿里云OSS
阿里云对象存储OSS(Object Storage Service),是一款海量、安全、低成本、高可靠的云存储服务,使用OSS,可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种文件。
参数配置
yaml/yml:
- 大小写敏感
- 数值前面必须有空格,作为分隔符
- 使用缩进表示层级关系,缩进时不允许使用tab键,只能用空格
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可