类 SohelpFileService

java.lang.Object
net.sohelp.boot.admin.core.service.file.SohelpFileService

@Service public class SohelpFileService extends Object
文件上传下载工具类
从以下版本开始:
2023/12/8
作者:
AaronFung
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    void
    根据文件ID删除单个文件及其数据库记录
    void
    delete(List ids)
    批量删除多个文件及其对应的数据库记录
    getFile(long fileId)
    根据文件ID获取文件对象
    void
    preview(String fileName, jakarta.servlet.http.HttpServletResponse response)
    提供文件在线预览功能,将指定文件通过 HTTP 流方式返回给客户端进行展示
    void
    rename(String id, String newFileName)
    重命名指定ID的文件名称
    long
    upload(String refid, org.springframework.web.multipart.MultipartFile multipartFile)
    上传业务文件
    long
    upload(SohelpFileTypeEnum sohelpFileTypeEnum, String refid, org.springframework.web.multipart.MultipartFile multipartFile)
    上传文件并保存到服务器及数据库中

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造器详细资料

    • 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

      @Comment("\u5220\u9664\u6587\u4ef6") public void delete(String id) throws BusiException
      根据文件ID删除单个文件及其数据库记录
      参数:
      id - 要删除的文件唯一标识符
      抛出:
      BusiException - 如果删除过程出现错误则抛出该异常
    • delete

      public void delete(List ids) throws BusiException
      批量删除多个文件及其对应的数据库记录
      参数:
      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

      public File getFile(long fileId) throws BusiException
      根据文件ID获取文件对象
      参数:
      fileId - 文件ID,用于查询数据库中的文件记录
      返回:
      返回对应的文件对象,路径为上传路径+文件UUID
      抛出:
      BusiException - 当文件不存在时抛出业务异常