二开实现打开图片预览功能原创
金蝶云社区-Howhy
Howhy
19人赞赏了该文章 509次浏览 未经作者许可,禁止转载编辑于2022年10月28日 16:07:01

星空系统支持插件内打开图片预览功能,方法是打开图片预览表单,传递固定参数。

以下代码示例此过程,注意,以下示例省略了获取图片数据过程,这个获取可以是到数据读取(数据库图片字段),或者请求文件服务接口获取图片数据,具体代码如下:

public override void BarItemClick(BarItemClickEventArgs e)        {
            if (e.BarItemKey.Equals("tbPre", StringComparison.OrdinalIgnoreCase))
            {
                //点击预览时打开

                //根据实际,判断是否是数据库图片字段(字段类型决定)
                bool isDbImage = false;

                DynamicFormShowParameter para = new DynamicFormShowParameter();
                para.FormId = FormIdConst.BOS_PicturePreview;
                para.ParentPageId = this.View.PageId;
                para.Width = 800;
                para.Height = 500;
                para.CustomParams.Add("IsOnlyView", "True");
                para.CustomParams.Add("FileName", string.Empty);
                para.CustomParams.Add("FieldKey", GetImageData());
                para.CustomParams.Add("FileStorage", isDbImage ? "0" : "1");
                para.CustomParams.Add("IsHideMainMenu", "1");
                this.View.ShowForm(para);
            }
        }

        private string GetImageData()
        {
            object picFieldValue = null; //获取图片的数据,文件图片或者数据图片
            if (picFieldValue is byte[])
            {
                return ((byte[])picFieldValue).ToBase64();
            }
            return null;
        }


赞 19