Download模块
# Download模块
# 简言
由于每个项目基本都有导出功能,虽然实现不复杂,但过于繁琐,
因此将导出部分单独抽成注解形式。以方便使用。
# 使用方式
# 1、引入坐标
<dependency>
<groupId>cn.lovecyy</groupId>
<artifactId>relaxed-spring-boot-starter-download</artifactId>
<version>${version}</version>
</dependency>
# 2、创建controller
方法必须使用
@ResponseDownload标注+返回值为DownloadModel
@ResponseDownload(channel = DownTypeEnum.LOCAL)
@GetMapping("local")
public DownloadModel local() {
DownloadModel downloadModel = new DownloadModel("D:\\test","123.jpg");
return downloadModel;
}
参数解析:
# @ResponseDownload
- channel 渠道LOCAL,SFTP,OSS,OTHER(自定义)默认为LOCAL
若要支持 SFTP(参考SFTP模块文档) ,OSS(参考SFTP模块文档) 需要引入对应依赖
- customHandler 当channel为OTHER时必须指定,且被SPRING容器管理,及注册成BEAN
- inline 是否直接展示 默认为false
- contentType 如果未指定,会尝试获取 如果尝试获取失败,则默认application/octet-stream
- charset 如果下载包含中文的文本文件出现乱码,可以尝试指定编码 默认UTF-8
- headers 响应头 数目长度必须为偶数 基数位为key 偶数位 为value
# DownloadModel
- fileName 文件名称 带后缀 123.png
- fileType 文件类型 png
- parentPath 文件父级路径 绝对路径 eg /test/123.png 此处就是/test
- separator 文件路径分隔符 默认为系统分隔符
- fullFilePath 文件全路径 eg /test/123.png
- extra 额外参数 自定义处理器时可能用的到
- downloadCallback 后置处理器 执行完之后可以做一些收尾工作
3、开始使用
直接访问地址 即可 下载附件。