使用WCF的Dynamics CRM 2011附件

时间:2012-03-14 22:58:00

标签: .net wcf dynamics-crm-2011

大家好我想弄清楚如何通过WCF为我的CRM 2011项目做一个实体的附件。

所以目前我有MVC表单,允许用户将pdf文件上传到我的服务器。现在我想要一个WCF服务,查看上传的文件并将它们附加到相关的实体/表单。

我可以通过引用CRM的WCF服务对实体执行基本的CRUD操作,但不确定将文件附加到该实体的方法。有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:3)

您可以使用类似于下面的代码来读取相应的文件,对数据进行编码,然后创建附加到相应实体的新注释。我在这里使用了后期绑定,以防你因任何原因使用早期绑定。

FileStream stream = File.OpenRead("pathToFile");
byte[] byteData = new byte[stream.Length];
stream.Read(byteData, 0, byteData.Length);
stream.Close();    

string encodedData = System.Convert.ToBase64String(byteData);

Entity annotation = new Entity("annotation");
annotation.Attributes["subject"] = "My subject";
annotation.Attributes["notetext"] = "My note text";

EntityReference noteRef = new EntityReference();
noteRef.LogicalName = "myEntity";
noteRef.Id = myEntity.Id;
annotation.documentbody = encodedData;
annotation.filename = "myFile.doc";
annotation.mimetype = @"application\ms-word";
annotation.Attributes.Add("objectid", noteRef);
annotation.Attributes.Add("objecttypecode", "myEntity");

service.Create(annotation);

让我知道你是怎么过的,

感谢。