我有一个带有版本的文件的库。我已经准备好上传的文件(1版= 1个文件)。如何创建新版本?我是否刚刚设置文件的内容属性并进行更新?请分享您的实验,谢谢

编辑:我有这样的东西:

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

所以我缺少版本。上传时是否可以设置文件版本(项目的字段?)?如果没有,我将用上一个/下一个版本填充缺少的版本,例如File2 | V1将填充File2 | V2。

有帮助吗?

解决方案

我不知道如何编程分配版本编号,但是如果可以让SharePoint分配版本号...

使用该方法的服务器版本:

SPFileCollection.Add(urlOfFile, fileContent, overwrite);

如果您传递oftrite = 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归因
scroll top