电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.表单插件.文件上传

来源:金蝶云社区作者:金蝶2024-09-238

二开案例.表单插件.文件上传

【注意】最新版中,本文中的文件上传控件已更名为附件控件。


【应用场景】使用文件上传控件上传文件到应用服务器。

【案例演示】创建动态表单,使用文件上传控件,将文件上传到应用服务器。


【实现步骤】

<1>编写表单插件,代码如下。

using Kingdee.BOS.Core.DynamicForm.PlugIn;

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

using Kingdee.BOS.JSON;

using Kingdee.BOS.Util;

using System.Collections.Generic;

using System.ComponentModel;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【表单插件】文件上传

    /// </summary>

    [Description("【表单插件】文件上传"), HotUpdate]

    public class FileUploadFormPlugIn : AbstractDynamicFormPlugIn

    {

        /// <summary>

        /// 文件上传指定目录(应用服务器)

        /// </summary>

        const string FileUploadServicesDir= "FileUploadServices/UploadFiles";


        /// <summary>

        /// 文件上传过程中会多次触发自定义事件

        /// </summary>

        /// <param name="e"></param>

        public override void CustomEvents(CustomEventsArgs e)

        {

            base.CustomEvents(e);

            if (e.Key.EqualsIgnoreCase("F_Jac_FileUpload"))

            {

                // 设置上传控件参数

                this.View.GetControl("F_Jac_FileUpload").SetCustomPropertyValue("NeedCallback", true);

                this.View.GetControl("F_Jac_FileUpload").SetCustomPropertyValue("IsRequesting", false);

                if (e.EventName.EqualsIgnoreCase("FileChanged"))

                {

                    // 文件上传完毕

                    var postData = KDObjectConverter.DeserializeObject<JSONObject>(e.EventArgs);

                    if (postData != null)

                    {

                        var uploadInfo = new JSONArray(postData["NewValue"].ToString());

                        if (uploadInfo.Count > 0)

                        {

                            // 取上传的文件名

                            var fileInfo = uploadInfo[0] as Dictionary<string, object>;

                            if (fileInfo != null)

                            {

                                var fileName = fileInfo["ServerFileName"].ToString();

                                var physicalPath = PathUtils.GetPhysicalPath(FileUploadServicesDir, fileName);

                                this.View.ShowMessage("文件上传成功,存放路径:" + physicalPath);

                            }

                        }

                    }

 

二开案例.表单插件.文件上传

【注意】最新版中,本文中的文件上传控件已更名为附件控件。【应用场景】使用文件上传控件上传文件到应用服务器。【案例演示】创建动态表单...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信