我有一个启用版本控制的文档库。文档现在在其他系统中,我需要迁移它们。问题在于,不同的方面MIGTH具有DIFFRENTE文件类型(DOC,DOCX,PDF),但仍然是同一文档。我想您不能只是更改文档扩展名,设置新内容,还是我错了?有人对具有不同文档类型/扩展的版本进行了实验?

感谢您的建议

编辑:

示例代码:

var fic = new FileCreationInformation();
fic.Overwrite = true;
fic.Url = "1.png";
fic.Content = ReadByteArrayFromFile(@"e:\temp\1.png");
var f = dsvRoot.Files.Add(fic);

ctx.Load(f);
ctx.ExecuteQuery();

var items = dsv.GetItems(new CamlQuery());
ctx.Load(items, i => i.Include(ii => ii.Id));
ctx.ExecuteQuery();

items[0].File.SaveBinary(new FileSaveBinaryInformation() { Content = ReadByteArrayFromFile(@"e:\temp\1.jpg") });
ctx.ExecuteQuery();

items[0].File.MoveTo("/test/DSV/1.jpg", MoveOperations.Overwrite);
ctx.ExecuteQuery();

items[0].File.SaveBinary(new FileSaveBinaryInformation() { Content = ReadByteArrayFromFile(@"e:\temp\1.pdf") });
ctx.ExecuteQuery();

items[0].File.MoveTo("/test/DSV/1.pdf", MoveOperations.Overwrite);
ctx.ExecuteQuery();

items = dsv.GetItems(new CamlQuery());
ctx.Load(items, i => i.Include(ii => ii.Id, ii => ii.File, ii => ii.File.Versions));
ctx.ExecuteQuery();

它创建了新版本,但问题在于它将旧版本文件重命名为新版本。因此,v1的内容是png,但名称为1.pdf,它试图以PDF打开它。知道如何解决这个问题吗?

有帮助吗?

解决方案

是的,据我所知,您真的不能做到这一点(是的,在其他edrms中这很好)我建议的是像拥有2个库 - .doc和.pdf-并创建查找列以参考它们之间。

我认识到这意味着拥有2个版本的历史 - 这不是很好 - 但是SharePoint似乎并不能很好地处理文件类型更改。

许可以下: CC-BY-SA归因
scroll top