页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

文件导出到服务器的自定义文件管理中心接口

背景说明

...

导出资源到简道云的需求,需要支持文件在【文件导出到服务器】系统选项中新增自定义的文件服务器类型。

IFileManagerStore接口类定义

...

基本信息

位置

smartbi.module.export.store.IFileManagerStore

父类

smartbi.module.export.offline.storer.IOfflineFileStorer

smartbi.module.export.offline.downloader.IOfflineDownloader

功能

定义一个文件服务器


接口方法说明

InputStream download(String filename)

...

功能

上传文件前调用者会执行的服务器初始化动作,一般用于创建目录

参数说明

返回值

备注

继承自 smartbi.module.export.offline.downloader.IOfflineFileStorer


不同情景下的接口调用情况

在线导出、离线导出后的下载

iFileManagerStore.initServer(config);

iFileManagerStore.download(request, response, fileName, downloadName);

...

iFileManagerStore.initServer(config);

// 删除前,需要调用init方法

iFileManagerStore.unstore(filename);



IFileManagerFactory容器类定义

...

位置:smartbi.module.export.store.IFileManagerStore

...

方法名

功能

输入

输出

getInstance()

返回IFileManagerFactory单例.

IFileManagerFactory

registerFileManagerStoreHandlerIfNotExist(String handlerName, IFileManagerStore handler)

注册一个文件系统,handlerName为这IFileManagerStore 对应服务器类型的键名。如果注册时已经存在同名对象,则不进行注册。

handlerName:服务器类型名

handler:自定义的服务器实现类

registerEncryptHandlerForce(String handlerName, IFileManagerStore handler)

注册一个文件系统,handlerName为这IFileManagerStore 对应服务器类型的键名。如果注册时已经存在同名对象,会覆盖式注册。

handlerName:服务器类型名

handler:自定义的服务器实现类

etEncryptHandler(String handlerName)

根据handlerName从handlers 中获取一个对应的文件服务器对象。不存在时返回空。

handlerName:服务器类型名

IFileManagerStore  

getRegistedServerKeys()

获取所有注册的键名。

Set<String>


前端JS改造

...

SpreadsheetReportWriteBackFileSettingDialog.js 新增两个方法

...

说明

测试连接前执行的操作,用于复制服务器配置信息。

入参

configObj:服务器配置信息(对象形式)

currentTableLine:当前行的原始数据(数组形式)

输出



扩展包使用步骤

  • 创建类实现IFileManagerStore接口

public class CustomManagerStore implements IFileManagerStore{

          //实现接口相关方法处理服务器逻辑

}

...