CopyIntoItems() не присваивает заголовок документу в библиотеке документов

#c# #sharepoint

#c# #sharepoint

Вопрос:

Я пытаюсь присвоить заголовок уже существующему документу в библиотеке документов, используя copyIntoItems() . Я предоставляю ввод в виде: Title,ID,FileName

Метод выдает следующую ошибку:

 Value does not fall within expected range
  

Но если я предоставляю SourceFullPath,Title,ID,FileName его в качестве входных данных, тогда он работает нормально. Я не хочу приводить <SourceFullPath>D:test.txt</SourceFullPath> здесь.

Может кто-нибудь подсказать, как я могу использовать copyIntoItems без предоставления SourceFullPath ?

Комментарии:

1. Не уверен, что вы пытаетесь здесь сделать. CopyIntoItems() используется для копирования документов из одного места в другое (даже между серверами). Не могли бы вы показать несколько строк кода?

Ответ №1:

Чтобы назначить информацию о поле, вы должны задать как минимум DisplayName, тип и значение для параметра Fields из метода CopyIntoItems (http://msdn.microsoft.com/en-us/library/copy.fieldinformation_members(v=office.12).aspx ):

 fieldInfo = new Sharepoint.FieldInformation();
fieldInfo.Id = Microsoft.SharePoint.SPBuiltInFieldId.Title;
fieldInfo.Value = "New title";
fieldInfo.DisplayName = "Title";
fieldInfo.Type = YetAnotherMigrationTool.Library.SP2007.Sharepoint.FieldType.Text;
fieldInfo.InternalName = "Title";
fields.Add(fieldInfo);
  

Полный пример того, как загрузить документ в SharePoint с помощью метода CopyIntoItems, смотрите здесь

Примечание: абсолютный URL-адрес источника копируемого документа является обязательным параметром.