云星空文件服务预览接入第三方预览服务office web 365 的话费用比较贵
他的替代方案就是kkfileView 自建服务器,kkfileView是免费的,不过要加入社区星球要99元
以下是虚拟机部署kkfileview的教程
ubuntu下部署kkFileView文件在线预览程序-DG城市 (dgcity.com)
搭建好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>登录业务站点,打开一张有附件的单据,点击在线预览。
暂无评论内容