文件服务预览接入第三方预览服务 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>登录业务站点,打开一张有附件的单据,点击在线预览。
【延伸阅读】
文件服务预览接入第三方预览服务 kkfileView
【应用场景】星空官方在线预览支持的文件类型有限,想要支持更多种类文件的在线预览。【注意事项】1、PT-154002 [8.2.0.20240104] 补丁开...
点击下载文档
上一篇:附件相关字段对应数据库中的存储内容说明下一篇:WebAPI性能优化建议
本文2024-09-23 03:43:46发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-160727.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章