1.概述

在平台中,我们的文件存储,可能会有多种方式,比如 文件系统,存储到云服务器等等。平台 默认支持:

  1. 文件系统
  2. 阿里云
  3. FASTDFS
    如果用户希望接入其他的系统这个时候如何处理呢。在平台中,我们对文件存储提供了统一的接口。

2.平台实现

2.1 接口定义

public interface IFileOperator {

    String getTitle();
    String getType();

    /**
     * 下载文件
     * @param response
     * @param sysFile
     * @param transPdf
     * @param isScale
     * @param isDownload
     * @return
     */
    void downFile(HttpServletResponse response, SysFile sysFile, boolean transPdf, boolean isScale,boolean isDownload);
    /**
     * 创建文件,传入扩展名和文件内容写入文件。
     * @param bytes
     * @return
     */
    FileModel createFile(String fileName, byte[] bytes);
    /**
     * 删除文件。
     * @param path
     * @return
     */
    int delFile(String path);
    /**
     * 将文件转换成PDF。
     * 返回PDF文件地址。
     * @param file
     */
    String  convertPdf(SysFile file);

}

用户需要实现该接口类。

如文件系统的接口实现。

@Component("file")
public class FileOperator extends BaseFileOperator {

增加 @Component 注解,这样后端的代码就写好了。

代码可以参考阿里云的实现。

2.2 前端代码调整

前端代码的作用主要是配置前端的参数。

比如阿里云,fastdfs,文件系统等。

前端配置代码。

文件名 + 存储类型。

数据配置放到 dataObj属性中。如果需要增加一种类型,则增加一个配置文件。

文档更新时间: 2022-01-20 14:53   作者:zyg