Вопрос

У меня есть библиотека с версионными файлами. У меня есть версионные файлы, подготовленные для загрузки (1 версия = 1 файл). Как создать новую версию? Я только что установил свойство контента файла и обновите его? Пожалуйста, поделитесь своими экспериментами, спасибо

РЕДАКТИРОВАТЬ: У меня есть что -то вроде этого:

File1|v1
File1|v2
File1|v4
File2|v2
File2|v5

Так что у меня отсутствуют версии. Можно ли установить версию файла при загрузке (поле элемента?)? Если нет, я заполню отсутствующую версию предыдущими/следующими версиями, например, File2 | V1 будет заполнен File2 | V2.

Это было полезно?

Решение

Я не знаю, как программно назначить номер версии, но если можно позволить SharePoint назначить номер версии ...

С версией сервера метода:

SPFileCollection.Add(urlOfFile, fileContent, overwrite);

Если вы пройдете в переверте = true, и библиотека документов включена в версии, я думаю, что это создаст новую версию документа. (Это поведение через браузер.) Я предполагаю, что версия модели объекта клиента будет вести себя так же.

FileCreationInformation fci = new FileCreationInformation();
fci.Url = urlOfFile;
fci.Content = fileContent;
fci.Overwrite = true;
folder.files.Add(fci);

Таким образом, до тех пор, пока вы загружаете файлы в правильном порядке их версий, SharePoint должен создавать каждую версию для вас.

Другие советы

Вот небольшой образец кода, который будет моделировать управление версией файла

public File changeDocumentVersion(string version,File file){
    string [] versions = version.Split(new char[]{'.'});
    int minor = Int32.Parse(versions[1]);
    int major = Int32.Parse(versions[0]);

    for (int i = 1; i < major; i++)
    {
        file.CheckOut();
        file.CheckIn("versioning", CheckinType.MajorCheckIn);
    }
    for (int i = 0; i < minor; i++)
    {
        file.CheckOut();
        file.CheckIn("versioning", CheckinType.MinorCheckIn);
        file.Context.Load(file);
        file.Context.ExecuteQuery();
    }
    return file;
}

Пока вы включили введение версий (найдено в настройках списка/библиотеки, то включение версии) SP позаботится о вас.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top