zoukankan      html  css  js  c++  java
  • Dynamics CRM2013 从外部系统取到CRM系统的用户头像

          CRM从2013开始引入了entityimage的概念,具体这个字段怎么设置的,图像是怎么上传的这里就不谈了。说实在的这玩意在项目中没啥用,所以也没去关注,直到最近遇到了个难题,要在外部系统去获取这个头像才来研究下。

         msdn中的这篇:https://msdn.microsoft.com/en-us/library/dn511697.aspx,讲述了如何去设置和查询头像,当然我只关心retrieve,所以看到了这段,我表示我被深深的坑到了。


        下图是我取的systemuser中的一条记录,就没查到entityimage这个字段,只有与之先关的3个字段


        分别对应下面3个value值,最后一个是图片的相对路径,当我很happy的拿这个地址去浏览器里访问的时候,想必你也已经料到了,是要身份验证的,所以对于第三方系统而言根本没用


        最后只能去数据库中看看这玩意在里面到底存的是啥,看到这个应该都懂了


        这里附上demo的代码

    string sql = @"SELECT entityimage FROM systemuser
                  where   systemuserid='B3EB9804-6CD8-E511-9413-D04319595BED'";
                SqlConnection con = new SqlConnection("data source=;database=Origin_MSCRM;uid=sa;pwd=");
                SqlDataAdapter ad = new SqlDataAdapter(sql, con);
                DataSet ds = new DataSet();
                ad.Fill(ds);
                byte[] imageBytes = ds.Tables[0].Rows[0]["entityimage"] as byte[];
                var fs = new BinaryWriter(new FileStream(@"d:123.jpg", FileMode.Append, FileAccess.Write));
                fs.Write(imageBytes);
        上面的代码取出的只是数据流,那最上面通过组织服务取出的那3个字段是啥呢,请看下图,关联的是一张叫imagedescriptor的表,对应的字段意思一目了然


  • 相关阅读:
    单选按钮控件(Ridio Button)的使用
    带属性页的对话框
    异常处理与MiniDump详解(4) MiniDump
    单片机与嵌入式 以及ARM DSP FPGA 几个概念的理解
    VC更换图标文件
    http://user.qzone.qq.com/2413264738/2
    安装包安装 执行有相对路径的程序不能正确运行
    如何将 jar 包导入Maven 本地仓库
    19、访问者设计模式
    11、装饰器模式
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205817.html
Copyright © 2011-2022 走看看