我正在尝试使用OpenCMIS for C#和OpenKM Server实现上传功能。 我想允许上传特定目录中的现有文件,并具有如下内容:文件名,文件名(1),文件名(2)等.OpenCMIS不允许多个具有相同名称的文件(我得到: Apache Chemistry OpenCMIS - nameConstraintViolation错误)。我可以检查目录中的所有文件名并解析它们的名称,但这似乎不是最好的解决方案。
我也尝试过,在创建要设置的文档时
IDictionary<string, object> properties = new Dictionary<string, object>();
properties[PropertyIds.Name] = documentName;
properties[PropertyIds.ObjectTypeId] = "cmis:document";
properties[PropertyIds.ContentStreamId] = 1;
ContentStream contentStream = new ContentStream();
contentStream.MimeType = MimeTypes.GetMimeType(fileName);
contentStream.Length = memStream.Length;
contentStream.Stream = memStream;
IDocument doc = resourceFolder.CreateDocument(properties, contentStream, null);
但是我得到属性ContentStreamId null,并以这种方式跟踪具有相同名称但不同版本的现有文件。我不知道版本化文件是否会对我有所帮助,因为我还想允许列出文件夹中的文件并下载它们。这样做有什么好主意吗?