自定义预览功能使用说明
# 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 应用场景预览苍穹中...
点击下载文档
上一篇:云之家预览功能使用说明 下一篇:永中预览和编辑功能使用说明
本文2024-09-23 00:35:54发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-140492.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章