...
文件导出到服务器的自定义文件管理中心接口
背景说明
...
导出资源到简道云的需求,需要支持文件在【文件导出到服务器】系统选项中新增自定义的文件服务器类型。
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{ //实现接口相关方法处理服务器逻辑 } |
...