使用C#检索CRM Web资源附件

时间:2019-01-15 03:30:22

标签: html dynamics-crm

客户目前要求我在CRM中创建一个功能,使他们可以将附件上传到记录中。然后将附件上传到SFTP。

我想知道如何从为上传附件而创建的html网络资源中检索附件。以下是我用于上传按钮的html脚本。

...
List<string> selectedImages;
...

public MyPage()
{
   selectedImages = new List<string>();
   InitializeComponent();

   MessagingCenter.Subscribe<Object,string>(this, "ImagesSelected",(object arg1,string arg2) =>
        {
            string source = arg2;

            selectedImages.Add(source);

        });

 } 

仅供参考。这个问题可能会扩展到其他问题。预先感谢!

1 个答案:

答案 0 :(得分:0)

给我的印象是您正在关注this article。 如作者所述,addFileToRecord方法不受支持。 另请注意,自定义实体的实体类型代码(ETC)在系统之间可能有所不同,因此,如果将此代码从DEV组织迁移到PROD组织,则可能需要更新代码中的ETC。

Dynamics 365将用户附件存储在注释实体(也称为“注释”)上。正如@jasonscript指出的那样,您需要检索刚刚附加的笔记。但是,retrieveRecord API方法要求您知道要检索的记录的ID。除非addFileToRecord方法返回附加注释的ID(它似乎没有出现),否则您将需要使用retrieveMultipleRecords,并使用适当的过滤器。

Jason Lattimer的CRMRESTBuilder可以帮助您构建该过滤器。

检索附件后,您应该能够使用JavaScript将附件发布到SFTP。 (虽然我从未在D365网络资源中进行过SFTP,但我不认为有任何事情可以阻止您。)

但是,请返回问题标题,表明您正在寻找通过C#上传附件的方法。如果您的系统是本地系统,则可以在沙盒外部注册插件-即不受协议限制。如果在线,则您的插件将在sandbox中注册,这会将其外部访问协议限制为HTTP和HTTPS。