Версия документа - разные типы документов
-
16-10-2019 - |
Вопрос
У меня есть библиотека документов с включенным управлением версией. Документы сейчас в какой -то другой системе, и мне нужно их мигрировать. Проблема в том, что разные версии у 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 - и создайте столбцы поиска, чтобы ссылаться между ними.
Я осознаю, что это означает наличие двух историй версий - и это не здорово - но SharePoint, похоже, не очень хорошо справляется с изменением типа файла.