类 SohelpFileService
java.lang.Object
net.sohelp.boot.admin.core.service.file.SohelpFileService
文件上传下载工具类
- 从以下版本开始:
- 2023/12/8
- 作者:
- AaronFung
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明void根据文件ID删除单个文件及其数据库记录void批量删除多个文件及其对应的数据库记录getFile(long fileId) 根据文件ID获取文件对象void提供文件在线预览功能,将指定文件通过 HTTP 流方式返回给客户端进行展示void重命名指定ID的文件名称long上传业务文件longupload(SohelpFileTypeEnum sohelpFileTypeEnum, String refid, org.springframework.web.multipart.MultipartFile multipartFile) 上传文件并保存到服务器及数据库中
-
构造器详细资料
-
SohelpFileService
public SohelpFileService()
-
-
方法详细资料
-
upload
public long upload(SohelpFileTypeEnum sohelpFileTypeEnum, String refid, org.springframework.web.multipart.MultipartFile multipartFile) throws BusiException, IOException, TokenAuthenticationException 上传文件并保存到服务器及数据库中- 参数:
multipartFile- 前端传入的 MultipartFile 对象,表示待上传的文件- 返回:
- 成功上传后在数据库中插入记录的主键 ID(使用雪花算法生成)
- 抛出:
BusiException- 当文件大小超过限制或操作失败时抛出业务异常IOException- 文件读写过程中发生 IO 错误时抛出TokenAuthenticationException- 用户身份验证失败时抛出
-
upload
public long upload(String refid, org.springframework.web.multipart.MultipartFile multipartFile) throws BusiException, IOException, TokenAuthenticationException 上传业务文件- 参数:
multipartFile- 要上传的文件对象- 返回:
- 上传成功后返回的文件唯一标识
- 抛出:
BusiException- 业务异常IOException- IO异常TokenAuthenticationException- 令牌认证异常
-
delete
根据文件ID删除单个文件及其数据库记录- 参数:
id- 要删除的文件唯一标识符- 抛出:
BusiException- 如果删除过程出现错误则抛出该异常
-
delete
批量删除多个文件及其对应的数据库记录- 参数:
ids- 需要删除的文件ID列表- 抛出:
BusiException- 如果删除过程中发生业务异常,抛出此异常
-
rename
@Comment("\u91cd\u547d\u540d\u6587\u4ef6") public void rename(String id, String newFileName) throws BusiException 重命名指定ID的文件名称- 参数:
id- 文件唯一标识符newFileName- 新的文件名称- 抛出:
BusiException- 若文件不存在或其他更新失败情况则抛出业务异常
-
preview
@Comment("\u6587\u4ef6\u9884\u89c8") public void preview(String fileName, jakarta.servlet.http.HttpServletResponse response) throws BusiException 提供文件在线预览功能,将指定文件通过 HTTP 流方式返回给客户端进行展示- 参数:
fileName- 文件名(含扩展名),用于定位具体文件response- HTTP 响应对象,用于设置响应头和输出流- 抛出:
BusiException- 如果文件读取或传输过程中出现问题则抛出业务异常
-
getFile
根据文件ID获取文件对象- 参数:
fileId- 文件ID,用于查询数据库中的文件记录- 返回:
- 返回对应的文件对象,路径为上传路径+文件UUID
- 抛出:
BusiException- 当文件不存在时抛出业务异常
-