博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为Dynamics CRM的Office附件注释定制个无需下载即可在线查看的功能
阅读量:4570 次
发布时间:2019-06-08

本文共 3086 字,大约阅读时间需要 10 分钟。

关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复164或者20151021可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!
上一篇博客: 发布后,有读者问,可以为其他类型附件做个预览功能吗?可以得,我这里提供主要的Office文件类型(Office 2007或者更高版本的Word,Excel,PowerPoint文档)的在线查阅功能,follow me。
为了更加好的显示效果,更方便的开发,我这里利用微软Office官方网站提供的联机查看Office文档功能,网址是 ,如果你的office文档有个可以通过http 或者Https 访问的url,就可以利用的官方的这个功能,这个就是Office Online的部分功能吧。支持的浏览器包括 Internet Explorer 7 或更高版本、Safari 4 或更高版本、Firefox 3.5 或更高版本以及 Chrome。 支持的 Office Online 手机查看器包括 iPhone? 上的 Safari 以及 Windows Phone 上的 Internet Explorer。  官方的支持,无需插件,无需自己电脑安装Office软件,可以联机查看,下载,查找,打印,以PDF形式下载等功能,我估摸着,以后功能会更加强大,就选它,我看行。
由于需要一个可以公开访问的文档URL,所以我这里建立了一个辅助的网站,这个网站我部署在Microsoft Azure上面,网站的首页地址是 ,主要用到的一个文件是 GetAnnotationDocument.ashx ,主要代码如下:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using LuoYong.CRMOperation;{    ///     /// Summary description for GetAnnotationDocument    ///     public class GetAnnotationDocument : IHttpHandler    {        public void ProcessRequest(HttpContext context)        {            try {                string AnnotationId = context.Request.QueryString["AnnotationId"];                CRMAnnotationMgr annotationMgr = new CRMAnnotationMgr();                if (!string.IsNullOrEmpty(AnnotationId))                {                    var annotation = annotationMgr.GetAnnatationAttachementBody(new Guid(AnnotationId));                    context.Response.ContentType = annotation.MimeType;                    byte[] mybyte = Convert.FromBase64String(annotation.DocumentBody);                    context.Response.BinaryWrite(mybyte);                    context.Response.Flush();                    context.Response.End();                }                else                {                    throw new Exception("AnnotationId没有提供!");                }            }            catch (Exception ex)            {                context.Response.ContentType = "text/plain";                context.Response.Write("Error." + ex.Message);            }        }        public bool IsReusable        {            get            {                return false;            }        }    }}

 

 
然后还是稍微修改前面文章的 HTML Web资源后如下,代码优化了一下,点击链接的反映速度会些了,因为不一定都去查询附件的内容了:
   微软MVP罗勇测试注释                                                  
序号 注释标题 注释内容 创建人 创建时间 修改人 修改时间 是否包含附件 附件名称 附件大小(KB)
附件内容预览
关闭

 

我上传了几个Office文件,如下:
 
测试点击Office文档的话会在新窗口中打开文档,当然是利用Office Online功能:
1. Word文档, .docx 文档:
 
2. Excel文档,.xlsx 文档:
 
3.PPT文档,.pptx文档:可以看到还可以放映幻灯片呢,给力!
 
4.pdf文档则会直接在浏览器中打开,如果你安装了PDF阅读软件也允许直接在浏览器中打开的话:
 
 

转载于:https://www.cnblogs.com/luoyong0201/p/Dynamics_365_Note_File_Online_Preview_Function.html

你可能感兴趣的文章
模拟window系统的“回收站”
查看>>
报文格式【定长报文】
查看>>
RDLC报表钻取空白页问题
查看>>
多路电梯调度的思想
查看>>
jQuery-对Select的操作
查看>>
过滤器、监听器、拦截器的区别
查看>>
为什么要进行需求分析?通常对软件系统有哪些需求?
查看>>
一些模板
查看>>
jquery和dom元素相互转换
查看>>
放大的X--HDOJ-201307292012
查看>>
题目831-签到-nyoj-20140818
查看>>
百词斩-斩家秘籍
查看>>
Mysql主从配置,实现读写分离
查看>>
ES6中的Symbol
查看>>
1.8小结
查看>>
浅谈C#关于AOP编程的学习总结
查看>>
无障碍阅读
查看>>
bzoj1494 生成树计数 (dp+矩阵快速幂)
查看>>
python canvas画移动物体_tkinter – 用于画布对象python的动画移动的方法
查看>>
java 连接 rac_JAVA 连接 ORACLE RAC 字符串
查看>>