2012-03-14 4 views
1

こんにちは私のCRM 2011プロジェクトのWCFを通じてエンティティの添付ファイルを作成する方法を理解しようとしています。WCFを使用したDynamics CRM 2011の添付ファイル

現在、私はユーザーが自分のサーバーにpdfファイルをアップロードできるMVCフォームを持っています。今は、アップロードされたファイルを見て、それらを関連するエンティティ/フォームに添付するWCFサービスを用意したいと思います。

私は、CRMのWCFサービスを参照してエンティティに対して基本的なCRUD操作を実行できますが、そのエンティティにファイルを添付する方法についてはわかりません。誰かが正しい方向に私を指差してくれますか?

答えて

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); 

感謝。

+0

こんにちは、アノテーションクラスのdocumentbody、filename、およびmimetypeプロパティにアクセスする際にエラーが発生しています。 – skub

+0

おそらく属性コレクションを通じてアクセスしてみてください。 annotation.Attributes ["documentbody"]。彼らは確かにそこにいるはずです。この記事では、問題の属性の設定を確認します。http://msdn.microsoft.com/en-us/library/gg328429.aspxあなたがどのように乗っているか教えてください。 –