none
Crear un documento en una carpeta de una biblioteca mediante REST RRS feed

  • Pregunta

  • Hola a todos!

    quiero crear un documento vacío que usa una template de una bibioteca en una carpeta concreta de la biblioteca. He revisado la documentación de MS y he mirado en los foros pero no me encaja ninguna alternativa de las que se comenta. Ha probado esto alguien?

    Gracias!

    jueves, 22 de enero de 2015 19:08

Respuestas

  • Hola Jose,

    gracias por la respuesta, me ha servido de ayuda.

    Finalmente lo he conseguido siguiendo este camino:

    - crear un tipo de contenido en la biblioteca con un documento plantilla (no necesariamente dotx)

    - leo el documento con REST, indicando binaryStringResponseBody: true

    - tomo el resultado y lo utilizo para crear otro documento con REST, con binaryStringResponseBody: true

    Este proceso es el adecuado, pero no funciona por defecto porque las librerías de "SP.RequestExecutor.debug.js" tiene un fallo. En este post explican perfectamente la solución:

    http://techmikael.blogspot.com.es/2013/07/how-to-copy-files-between-sites-using.html

    Y con esto se resuelve el requisito.

    sábado, 31 de enero de 2015 15:03

Todas las respuestas

  • Hola, para una carpeta específica no podés setear un documento específico, tendrías que crear un content type y asociarle a ese content type un template de documento.

    Saludos.

    jueves, 22 de enero de 2015 21:10
  • Hola Christian,

    ya tengo el content type y la template asociada.

    Lo que quiero hacer es crear de forma programatica mediante REST una carpeta (ya lo he conseguido) y dentro de ella un documento de word a partir de la template asociada al content type, con un nombre concreto y unos metadatos. 

    Quiero además que el documento de word se enlace con el valor de los metadatos del item recién creado, aunque eso iría después de conseguir lo anterior.

    Esta funcionalidad recuerdo haberla implementado con en una solución de granja para 2007, pero me gustaría poder hacerlo con REST, y si no se puede con CSOM para una solución SharePoint-Hosted.

    El único recurso que encuentro es este:

    https://msdn.microsoft.com/en-us/library/office/dn292553(v=office.15).aspx#Files

    pero entiendo que ninguno de los escenarios me sirve, porque tratan de subir ficheros y yo quiero crearlo desde cero a partir de una Template.

    Si tienes cualquier idea te lo agradezco. Gracias!

    viernes, 23 de enero de 2015 8:28
  • Buenos días,

    Tal vez no sea la mejor opción pero podrías leer tu plantilla (almacenándola en una biblioteca para que sea más sencillo) y después de crear la carpeta, cargar el contenido del archivo leído. Te paso un enlace por si te ayuda:

    http://www.shillier.com/archive/2013/03/26/uploading-files-in-sharepoint-2013-using-csom-and-rest.aspx

    Saludos,

    Jose

    viernes, 23 de enero de 2015 10:33
  • Hola Jose,

    gracias por la respuesta, me ha servido de ayuda.

    Finalmente lo he conseguido siguiendo este camino:

    - crear un tipo de contenido en la biblioteca con un documento plantilla (no necesariamente dotx)

    - leo el documento con REST, indicando binaryStringResponseBody: true

    - tomo el resultado y lo utilizo para crear otro documento con REST, con binaryStringResponseBody: true

    Este proceso es el adecuado, pero no funciona por defecto porque las librerías de "SP.RequestExecutor.debug.js" tiene un fallo. En este post explican perfectamente la solución:

    http://techmikael.blogspot.com.es/2013/07/how-to-copy-files-between-sites-using.html

    Y con esto se resuelve el requisito.

    sábado, 31 de enero de 2015 15:03