Pregunta

Tengo una biblioteca de documentos con versiones habilitadas. Los documentos ahora están en algún otro sistema y necesito migrarlos. El problema es que las veriones diferentes tienen tipos de archivos DiFrente (DOC, DOCX, PDF), pero siguen siendo el mismo documento. Supongo que no puedes simplemente cambiar la extensión del documento y establecer contenido nuevo o me equivoco. ¿Alguien tiene una experiencia con versiones que tienen diferentes tipos de documentos/extensiones?

Gracias por los consejos

editar:

Código de muestra:

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();

Crea nuevas versiones, pero el problema es que renombra los archivos de versión antiguos al nuevo. Entonces, el contenido de V1 es PNG, pero su nombre es 1.pdf y se trata de abrirlo como PDF. Alguna idea de como resolver esto?

¿Fue útil?

Solución

Sí, realmente no puedes hacer eso, hasta donde yo sé (y sí, esto está bien en otros EDRMS) lo que sugeriría es algo como tener 2 bibliotecas - .doc y .pdf - y crear columnas de búsqueda para referir entre ellos.

Reconozco que esto significa tener 2 historias de versión, y eso no es genial, pero SharePoint no parece lidiar con los cambios de tipo de archivo bien.

Licenciado bajo: CC-BY-SA con atribución
scroll top