Загрузка файлов в список Sharepoint + установка значений для столбца типа поиска - PullRequest
1 голос
/ 21 июня 2010

Я использую веб-сервис Sharepoint's Copy.asmx для загрузки устаревших файлов и их метаданных.Цель - настраиваемый список (с вложенными папками и настраиваемыми полями - все в виде текста).

Загрузка файла в порядке, их метаданные в порядке, запросы 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);

    }
}

В конце WS вызывается с использованием:

                copyService.CopyIntoItems(destination
                                         , destinationURL
                                         , file.spfieldInfo
                                         , File.ReadAllBytes(AppSettings.getAppPropertyValue(CConstants.SOURCE_FOLDER_KEY_NAME) + "\\" + (file.destinationFolder).Replace("/","\\\\") + file.name)
                                         , out result);

Извините за длинное вступление.Вопрос: как мне переписать следующее для полей поиска?

    fi.Type = spfinWSCopy.FieldType.Text;
    fi.Value = attr.Value;

Спасибо, Педро

1 Ответ

0 голосов
/ 22 июня 2010

Кому это может быть интересно, я обнаружил, что не могу установить поля поиска с помощью веб-сервисов, в другой поток в SO .

Эта ссылка немного уточняет.Весьма расстраивает, я проверю свои бизнес-требования, возможно, мне придется пойти в RPC.

Спасибо за прослушивание, в любом случае:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...