2

上記で提案したように、DotCMIS と Visual Studio 2010 を使用して、Alfresco CMS で複数値のプロパティを持つドキュメントを作成しようとしています。

Dictionary<string, object> DocumentProperties = new Dictionary<string, object>();
DocumentProperties[PropertyIds.Name] = "MyPDF.pdf";
DocumentProperties[PropertyIds.ObjectTypeId] = "D:mit:mypdf";
DocumentProperties["mit:author"] = "myPDFAuthor";
DocumentProperties["mit:serialnumber"] = "23A100001";

ContentStream contentStream = new ContentStream();
contentStream.FileName = "MyPDF.pdf";
contentStream.MimeType = "application/pdf";
contentStream.Stream = new MemoryStream(File.ReadAllBytes("C:/mypath/mypdf.pdf"));
IDocument doc = root.CreateDocument(DocumentProperties, contentStream, DotCMIS.Enums.VersioningState.Major);

良い限り、これは問題なく動作します。

DocumentProperties["mit:gesamtwert"] = ???

ここで問題が始まります。「mit:gesamtwert」は複数値のプロパティ (データ型: float) であり、正しい方法で値を渡す方法がわかりません。List、float[]、その他いくつか試しました...何か不足していますか?ArrayList で動作するいくつかの Java ソリューションを見ましたが、それをワーキング セットに変換できませんでした。

もちろん、単一の浮動小数点値を渡そうとすると、

System.ArgumentException: Property 'mit:gesamtwert' is not a single value property!

配列またはリストを渡す場合

System.ArgumentException: Property 'mit:gesamtwert' is a Decimal property!

そのため、配列またはリストのリスト文字を認識せず、それを単一の値として解釈します。これは明らかにフロートではありません。

どんな助けでも大歓迎です!あなたの助けを前もってありがとう! レイネケ

4

1 に答える 1

4

複数値の 10 進プロパティの場合は、List<decimal>. Float は CMIS には存在しません。代わりに 10 進数を使用してください。

于 2016-05-21T10:19:33.800 に答える