文件服务.二开案例.使用本地服务预览自定义文件
【场景】预览自定义文件
【案例】预览在服务器自定义目录的文件
(1)数据准备,服务器临时目录下的文件
![image.webp](/download/01003e65bbe621224c0e92e3d009fa8ef8db.webp)
(2)插件案例
![image.webp](/download/01008402c592ab284f399415dbdadb4c7229.webp)
```csharp
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.JSON;
using Kingdee.BOS.ServiceHelper.FileServer;
using Kingdee.BOS.Util;
using System;
using System.Web;
namespace DynamicFormPlugIn.Attachment
{
[Kingdee.BOS.Util.HotUpdate]
public class CustomPdfPreviewPlugIn : AbstractBillPlugIn
{
public override void ButtonClick(ButtonClickEventArgs e)
{
if (string.Equals(e.Key, "F_BHR_CustomPdfPreview", StringComparison.OrdinalIgnoreCase))
{
PreviewPdf();
}
}
/// <summary>
/// 本地服务预览 pdf文件
/// </summary>
private void PreviewPdf()
{
string fileName = "2.pdf";
string serverPath = string.Format("TempfilePath/{0}", fileName);
string physicalPath = System.IO.Path.Combine(PathUtils.GetPhysicalPath("TempfilePath"), fileName);
JSONObject webobj = new JSONObject();
webobj["action"] = "OpenRes";//使用客户端本地程序直接打开文件资源,如pdf默认谷歌浏览器打开,word默认使用office打开
string url = FileServerHelper.GetAppSiteOuterNetUrl(this.Context, HttpContext.Current.Request);
string filepath = string.Format("{0}{1}", url, serverPath);
//var logInfo = GetLogInfo(dyn);
//if (logInfo != null)
//{
// var detailedInfo = PathUtils.EncodeJsonWebToken(logInfo.ToDictionary(d => d.Key, d => (object)d.Value));
// filepath += string.Format("&detailedInfo={0}", detailedInfo);
//}
webobj["filepath"] = filepath;//文件下载url
webobj["fileid"] = Guid.NewGuid().ToString();//用作本地服务缓存文件,如果每次都需要下载最新的就使用guid
webobj["targetfilename"] = HttpUtility.UrlEncode(fileName);//文件名
webobj["pageid"] = this.View.PageId;
this.View.AddAction("OpenClientLocalResource", webobj);
this.View.SendDynamicFormAction(this.View);
this.View.ShowMessage("附件正在加载中..");
CacheUtil.SetCache(this.Context.GetAreaCacheKey(), "OpenClientLocalResourceCall", this.View.PageId, this.View);
}
}
}
```
【效果】预览自定义文件
![image.webp](/download/0100e0516e3eaeef429ca1cd66f3261378da.webp)
![image.webp](/download/010020eab70670704f90baee1404dd45b74b.webp)
文件服务.二开案例.使用本地服务预览自定义文件
【场景】预览自定义文件【案例】预览在服务器自定义目录的文件(1)数据准备,服务器临时目录下的文件![image.webp](/download/01003e65bbe62...
点击下载文档
本文2024-09-16 18:20:48发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-21546.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章