我正在使用Sharepoint的Copy.asmx webservice上传旧文件及其元数据。 目标是自定义列表(具有嵌套文件夹和自定义字段 - 全部为文本 - )。
文件上传还可以,他们的元数据还可以,CAML查询还可以,但是......
我的一个自定义属性是doc_type。由于时间限制,我也将其设置为文本。但是,如果用户开始创建自己的内容,我宁愿通过将此doc_type用作查找字段而不是自由文本来最大化数据健全性。
我很感激如何正确设置FieldInformation集合。
发布整个代码是过分的,但这是相关的部分。 我开始创建一个代表每个文件夹和文件的详细XML。 “文件”节点包含元数据作为属性。这段代码迭代每个节点的属性。
foreach (XmlAttribute attr in node.Attributes) { if (attr.Name.StartsWith("c_")) { spfinWSCopy.FieldInformation fi = new spfinWSCopy.FieldInformation(); fi.DisplayName = attr.Name; fi.InternalName = attr.Name; fi.Type = spfinWSCopy.FieldType.Text; fi.Value = attr.Value; spfields.Add(fi); } }
最后,使用:
调用WScopyService.CopyIntoItems(destination , destinationURL , file.spfieldInfo , File.ReadAllBytes(AppSettings.getAppPropertyValue(CConstants.SOURCE_FOLDER_KEY_NAME) + "\\" + (file.destinationFolder).Replace("/","\\\\") + file.name) , out result);
很抱歉这个长篇介绍。问题是:我应该如何为Lookup字段重写以下内容?
fi.Type = spfinWSCopy.FieldType.Text; fi.Value = attr.Value;
谢谢, 佩德罗
答案 0 :(得分:0)
我感兴趣的是,我发现我无法在another thread in SO中使用网络服务设置查找字段。
This link详细阐述。非常令人沮丧,我会检查我的业务需求,我可能不得不进入RPC。
感谢您的倾听,无论如何:)