文件服务预览接入第三方预览服务 kkfileView

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:3

文件服务预览接入第三方预览服务 kkfileView

【应用场景】

星空官方在线预览支持的文件类型有限,想要支持更多种类文件的在线预览。


【注意事项】

1、PT-154002 [8.2.0.20240104] 补丁开始支持接入其他第三方预览服务。

2、桌面客户端因为自带的浏览器内核比较旧,所以不支持 kkfileView。浏览器端使用Chrome、Edge等新版浏览器可正常预览。


【案例演示】

开发接入插件、在参数设置中配置好 kkfileView 预览服务后,使用 kkfileView 进行在线预览。


【部署 kkfileview】

部署文档:https://kkview.cn/zh-cn/docs/production.html

介绍:https://kkview.cn/zh-cn/docs/home.html

源码:https://gitee.com/kekingcn/file-online-preview.git


【实现步骤】

<1>编写插件,需要引用 Kingdee.BOS.Core.dll 和 Kingdee.BOS.dll 两个组件。

using Kingdee.BOS.Core.FileServer;
using Kingdee.BOS.Core.Objects.FileService;
using System;
using System.Text;
using System.Web;

namespace KkFilePlugin
{
       [HotUpdate]
    public class Plugin : AbstractOtherPreviewServicePlugin
    {
        public override string GetPreviewUrl(OtherPreviewArg arg)
        {
            var fileUrl = string.Format("{0}&fullfilename={1}", arg.FileUrl, Guid.NewGuid().ToString("N") + arg.FileName ?? "未知文件名.txt");
            fileUrl = Convert.ToBase64String(Encoding.UTF8.GetBytes(fileUrl));
            fileUrl = HttpUtility.UrlEncode(fileUrl);

            if (arg.ServerUrl.StartsWith("http", StringComparison.OrdinalIgnoreCase))
            {
                return string.Format("{0}?{1}", arg.ServerUrl, arg.Parameter.Replace("{furl}", fileUrl));
            }
            else
            {
                Uri uri = new Uri(arg.FileUrl);
                return string.Format("{0}://{1}?{2}", uri.Scheme, arg.ServerUrl, arg.Parameter.Replace("{furl}", fileUrl));
            }
        }
    }
}


<2>编译插件后,拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。

<3>配置好接入参数。

配置名:可任意配置

启用:勾选

服务地址:http://这里替换成实际搭建预览服务的ip地址:8012/onlinePreview

支持的后缀名:可不填,表示支持所有后缀名

参数:url={furl}

预览文件地址处理:不填

插件:KkFilePlugin.Plugin, KkFilePlugin



【功能验证】

<1>登录业务站点,打开一张有附件的单据,点击在线预览。



【延伸阅读】


在线预览接入私有化部署的officeWeb365



文件服务预览接入第三方预览服务 kkfileView

【应用场景】星空官方在线预览支持的文件类型有限,想要支持更多种类文件的在线预览。【注意事项】1、PT-154002 [8.2.0.20240104] 补丁开...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息