自定义预览功能使用说明

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

自定义预览功能使用说明

# 1 V6.0.0及以上版本 ## 1.1 简介 ### 1.1.1 功能介绍 自定义预览支持通过插件实现自定义的预览服务。 ### 1.1.2 应用场景 预览苍穹中的文件时,若需要使用自己实现的预览服务进行预览,可以在文件服务参数中配置自定义预览,实现自己的预览服务。 ### 1.1.3 系统路径 【公共设置】 → 【参数配置】 → 【系统参数】 → 【文件服务参数】 ![image-20230609180223501.webp](/download/0100a21a7f2dc18c4f66b5bb6e447af0101b.webp) ### 1.1.4 关键配置说明 #### 1.1.4.1 参数页面配置 在自定义预览文件类型(插件方案)文本框中,填写上支持预览所填写的文件类型。 | **配置名称** | **详细解释** | | ------------------------------ | ------------------------------------------------------------ | | 自定义预览文件类型(插件方案) | 需通过文件服务扩展插件,实现文件预览接口,仅支持预览所填写的文件类型(使用英文逗号进行分隔),示例:txt,png | #### 1.1.4.2 自定义预览的二开方式 苍穹平台默认通过云盘模式预览文件,私有云客户需要准备一台Window Server,安装Office软件并部署转换插件,才能实现云盘模式的文件预览。 为了实现文件预览的灵活性,苍穹提供了文件预览二开的方式,可以对预览实现逻辑进行定制化开发,比如某客户通过对接在线预览服务,实现预览服务的二次开发。 下面将通过“开发流程”和“MC参数配置”两个方面,来介绍文件预览二开流程。 ##### 1.1.4.2.1 开发流程 ###### Step1 实现基类 实现基类的操作代码如下所示: ```Java implements kd.bos.fileservice.preview.PreviewService ``` ###### Step2 基类初始化 基类初始化的代码如下所示: ```Java //实例化时会把当前文件服务实例传进来,供进行文件上传下载等操作,需要自己实现赋值 public void init(FileService fileService) { this.fileService = fileService; } ``` ###### Step3 自定义预览方式的二开实现 自定义预览方式二开要实现“previewWPS”**和**“previewFromCacheWPS”**两个方法,方法介绍如下: ```Java public Map<String, Object> previewWPS(String fileName, String path, String userAgent, Map<String, String> config) { //fileName文件名;path文件存储路径;config系统配置页面中配置的参数; 该方法在预览保存后的文件时触发 } public Map<String, Object> previewFromCacheWPS(String fileName, String path, String userAgent, InputStream cacheIn, Map<String, String> config) { //cacheIn文件流 该方法在预览刚上传的临时文件时触发 } //失败返回格式: Map<String, Object> result = new HashMap(); result.put(PreviewParams.STATUS.getEnumName(), PreviewParams.ERROR.getEnumName()); result.put(PreviewParams.DESCRIPTION.getEnumName(), description); //返回成功的格式: //1、需要转换的返回转换后的流 previewResult.put(PreviewParams.STATUS.getEnumName(), PreviewParams.URL.getEnumName()); previewResult.put(PreviewParams.RESULT.getEnumName(), url); //2、不需要转换的直接返回原来流 previewResult.put(PreviewParams.STATUS.getEnumName(), PreviewParams.NOT_NEED_CHANGE.getEnumName()); previewResult.put(PreviewParams.RESULT.getEnumName(), in); if ("txt".equalsIgnoreCase(ext)) { previewResult.put(PreviewParams.CHARSET.getEnumName(), FileUtil.getFilecharsetNew(in));//可以通知浏览器以什么编码展示txt文件 } ``` ##### 1.1.4.2.2 MC参数配置 二开实现类开发完成后,需要在MC中增加attachmentServer.previewImpl.className参数指定二开的预览实现类,以启用二开流程,如下图所示: ![0109b76c3d81dabd48ebbfcae0b3f39b9ef1.webp](https://developer.kingdee.com/download/0109b76c3d81dabd48ebbfcae0b3f39b9ef1.webp) 如果MC不指定实现类,将使用**默认实现类,**包路径为**“kd.bos.fileservice.preview.DefaultPreviewServiceImpl”。** ## 1.2 主要操作 ### 1.2.1 配置预览方式 **步骤1**:进入如下配置页面。 【公共设置】 → 【参数配置】 → 【系统参数】 → 【文件服务参数】 → 【文件预览配置】 → 【自定义】 ![image-20230609180223501.webp](/download/01006bdddc8c79614e439ff1ba05127fff86.webp) **步骤2**:填入自定义预览文件类型(插件方案)的配置项(获取方式见1.1.4关键配置说明)。 ![image-20230609180421123.webp](/download/01007a67d99308e2415f91cadfcb5cc58b58.webp) **步骤3**:完成自定义预览服务的二开。 **步骤4**:任意单据上传附件后,点击预览按钮,即可通过自定义预览服务实现预览效果。 # 2 V6.0.0以下版本 V6.0.0以下版本自定义预览配置页面系统路径如下: 【配置工具】 → 【参数配置】 → 【系统参数】 → 【附件配置】 → 【附件预览方式配置】 → 【云之家预览方式】 → 【自定义预览文件类型(插件方案)】 ![image-20230901142031384.webp](/download/010099062ff962fb4dab80f4baedfb977ad5.webp) ![image-20230901150950323.webp](/download/0100b865b1dcfa0c4bae9ce41588c00da352.webp)

自定义预览功能使用说明

# 1 V6.0.0及以上版本## 1.1 简介### 1.1.1 功能介绍自定义预览支持通过插件实现自定义的预览服务。### 1.1.2 应用场景预览苍穹中...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息