Java类:team.bangbang.common.servlet.UploadServlet
该servlet是上传入口,spring中需要扫描、加载该servlet。该servlet映射地址是/common/upload
该上传serlet支持下列参数: 1. file 必选,上传的文件控件名称 2. overwrite 可选,如果文件重名,是否覆盖文件,默认为false 3. rename 可选,默认为true,表示上传后文件名以时间戳重命名;false值表示上传后文件名不变 4. folder 可选,放置在指定目录下,如果目录不存在,则指定的自动创建,默认为当前日期(yyyyMM)目录 5. manager 可选,IFileManager处理器java类名,包含包名、类名,通过该参数指定使用的IFileManager处理器,默认使用项目配置的IFileManager处理器
Java类:team.bangbang.common.file.IFileManager
此接口定义了文件上传的方法,具体的实现类有: 1. 上传到服务器本地 team.bangbang.common.file.LocalFileManager 2. 上传到阿里云OSS team.bangbang.common.file.AliyunOssManager 3. 上传到七牛云 team.bangbang.common.file.QiniuOssManager
文件上传使用哪个具体的实现类,取决于项目中的配置。
一、配置说明
- 上传到服务器本地 默认使用team.bangbang.common.file.LocalFileManager
spring:
servlet:
multipart:
# 上传的文件最大Size,支持MB、KB单位
max-file-size: 10MB
# 文件上传
file:
attachment:
# 上传处理器
# 默认上传到本地
manager: "team.bangbang.common.file.LocalFileManager"
# 上传到本地的设置
# 上传到本地的文件目录
directory: "D:/home"
- 上传到阿里云OSS
spring:
servlet:
multipart:
# 上传的文件最大Size,支持MB、KB单位
max-file-size: 10MB
# 文件上传
file:
attachment:
# 上传处理器
# 上传到阿里云OSS
manager: "team.bangbang.common.file.AliyunOssManager"
aliyun:
# 上传返回地址的前缀,以半角字符“/”结尾
root: "http://static.icode.js.cn/"
oss:
endpoint:
accessKeyId:
accessKeySecret:
bucketName:
- 上传到七牛云
spring:
servlet:
multipart:
# 上传的文件最大Size,支持MB、KB单位
max-file-size: 10MB
# 文件上传
file:
attachment:
# 上传处理器
# 上传到七牛云OSS
manager: "team.bangbang.common.file.QiniuOssManager"
qiniu:
# 上传返回地址的前缀,以半角字符“/”结尾
root: "http://static.icode.js.cn/"
accessKey: "sfi8Igl2SO4Sw8jSyGLy888dp3NKukf0Ju3"
secretKey: "KWd_OVl9ZRGcWMia33vEfS14J-yFW7n7DAJN0d2"
bucket: "static"