.net 2016年广告与CRM实体形象比较

.net 2016年广告与CRM实体形象比较,.net,active-directory,dynamics-crm,.net,Active Directory,Dynamics Crm,我想根据我在广告中找到的图片,添加和更新保存在CRM联系人中的Active Directory用户的联系人图片 这已经很好地工作了,但我不知道如何在CRM保存后找出图片中是否有差异 即使我将所有广告图像转换为144x144 jpg byte[]并覆盖CRM中的内容,下一次同步也会报告所有联系人的差异,因此会重新更新他们。这仍然可以正常工作,但当然会生成不需要的审核历史记录条目 我为同步本身使用了一个数据同步工具,它使用SDK,因此我无法完全掌握CRM中发生的事情 有谁知道在保存entityima

我想根据我在广告中找到的图片,添加和更新保存在CRM联系人中的Active Directory用户的联系人图片

这已经很好地工作了,但我不知道如何在CRM保存后找出图片中是否有差异

即使我将所有广告图像转换为144x144 jpg byte[]并覆盖CRM中的内容,下一次同步也会报告所有联系人的差异,因此会重新更新他们。这仍然可以正常工作,但当然会生成不需要的审核历史记录条目

我为同步本身使用了一个数据同步工具,它使用SDK,因此我无法完全掌握CRM中发生的事情

有谁知道在保存entityimages时CRM是否比调整大小到144x144更“神奇”?CRM convert是执行特定格式(JPG等)还是保持原始文件格式不变

更新 我发现了一些事情&我的解决方法:

  • CRM正在表ImageDescriptor中存储jpg/jfif
  • CRM将所有传入图像的大小调整为144x144,没有大的原始图像保留
  • 您可以使用ImageDescriptor中的select DATALENGTH(ImageData)检查SQL中的大小,其中ObjectId='XXXXX-XXXX-XXXX-XXXXX-XXXXX'(其中XXXX是联系人的联系人ID)
  • 如果您在CRM用户界面中打开一个联系人并保存图片,它的大小与数据库报告的大小相同——因此:这里没有魔力
  • 在将广告图片同步到CRM之前,我正在转换为JPEG并将其大小调整为144x144,但对于某些图片,我的结果大小仍有2字节的差异,而99%的图片都可以正常工作。首先转换它们,然后比较它们的方法似乎很好,但需要更多关于压缩等的研究,这造成了微小的差异(在第一个视图中是非常相同的btw)
  • 文件大小随机不同的另一个原因可能是,对文件应用jpeg压缩(我对广告源图像这样做)无法确定,和/或CRM自身对jpg的“入站转换”可能会在将文件保存到CRM时改变文件大小(即使是入站文件也与CRM的目标格式具有相同的维度和压缩级别)
  • 我的解决方法是将原始图片的大小与每次同步后设置的conact中存储的自定义实体字段进行比较

感谢您之前的评论,我将关闭此条目,因为解决方案工作正常。

我相信图像存储为Base64编码字符串,这可能是编码问题(UTF8与Unicode与…)。我对entityimages不够熟悉,无法做出更准确的假设。您如何比较图像?尝试只进行比较!=字节[]从AD/Office 365到CRM的entityimage的图像大小调整field@Alex实体图像存储在SQL server中的“图像”类型字段中,该字段已折旧,API返回字节[]我的解决方法将更改为不比较文件大小,而是对原始文件进行哈希运算,更精确