none
Mostrar items de un folder en una Libreria de imagenes RRS feed

  • Pregunta

  • Hola,

    He creado una librería de imágenes. Esta librería tiene un Folder llamado "Cabecera" y dentro de este folder he metido

    varias imágenes. Necesito recorrer programáticamente este folder para sacar una lista de las imágenes que tiene.

    Me podéis ayudar?.

     

    • Cambiado VladPoint lunes, 22 de marzo de 2010 21:54 Pregunta de Desarrollo (De:SharePoint: Productos y Tecnologías)
    lunes, 22 de marzo de 2010 19:08

Todas las respuestas

  • Paso tu duda al foro correspondiente de desarrollo sobre SharePoint

     

    Saludos;

    Vlad


    Vlad Blogs: http://sharepointblogs.com.mx/blogs/medinav/default.aspx & http://vladpoint.wordpress.com/
    lunes, 22 de marzo de 2010 21:53
  • ¿desde un webpart en SharePoint o desde una aplicación cliente utilizando los servicios web?
    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin
    martes, 23 de marzo de 2010 14:20
  • Desde un WebPart de SharePoint.

     

    Gracias!

     

    martes, 23 de marzo de 2010 15:37
  • Utiliza el API de SharePoint para obtener los SPListItem de la lista y para cada uno de ellos puedes obtener la url de la imagen.

    string imagefieldhtml = item["NameOfImageField"].ToString(); 
    ImageFieldValue imagefield = new ImageFieldValue(imagefieldhtml); 
     
    var url = imagefield.ImageUrl; 
     

     


    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin
    martes, 23 de marzo de 2010 15:47
  • Ya, pero lo que necesito es el nombre de las imagenes que estan dentro del folder de una libreria de imagenes.

    La libreria se llama "Imagenes", en dicha libreria tengo imagenes y Folders. En uno de los Folders llamado "carpeta1" tengo varias

    imagenes (imagen1, imagen2....). Lo que necesito es que programaticamente indicar el nombre de la libreria, el nombre del Folder y sacar

    un listado de las imagenes de ese folder y no otro.

     

     

    martes, 23 de marzo de 2010 15:56
  • Puedes probar obteniendo la colección de Folders de la lista y de la carpeta que quieras, obtener la colección de Files, algo parecido a esto:

    SPSite site = new SPSite(http://sharepoint);

    SPWeb web = site.OpenWeb();

    SPList list = web.Lists["Images"];

    SPListItemCollection folderColl = list.Folders;

    foreach (SPFolder folder in folderColl)

    {

        if (folder.Name == "TestFolder")

        {

    SPFileCollection fileColl = folder.Files;

        }

    }


    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin
    martes, 23 de marzo de 2010 18:10
  • Hola,

     

    He probado tu solución, pero me da error, no consigo mostrar el nombre de los archivos contenidos en el folder. :(

     

    Gracias

    miércoles, 24 de marzo de 2010 9:21
  • ¿dónde te da error? Pásame tu código y lo pruebo en mi entorno.
    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin
    miércoles, 24 de marzo de 2010 15:07
  • Hola,

     

    El error es al intentar sacar el nombre de los archivos, no lo consigo. Tu mismo código y pero creo que le falta la parte donde se recorre la coleccion de archivos

    de la carpeta. Me he quedado en SPFileCollection fileColl = folder.Files;  pero no se continuar.

    Filecool no tiene Name o algo parecido para sacar el nombre de los archivos (imagen1, imagen2). La estructura sería así:

     

    Imagenes ->

                TestFolder ->

                             Imagen1.gif

                             Imagen2.gif

            

    Gracias Alberto,

    jueves, 25 de marzo de 2010 8:02
  • Hola,

     

    una vez que tienes la colección fileColl, puedes iterar sobre ella con un foreach y sacar la propiedad Name de cada uno de los SPFile .

     

    foreach(SPFile file in fileColl)
    
    {
    
        Mostrar(file.Name);
    
    }

     


    -- Edin http://edinkapic.blogspot.com
    jueves, 25 de marzo de 2010 15:20
    Moderador
  • No se puede convertir un objeto de tipo 'Microsoft.SharePoint.SPListItem' al tipo 'Microsoft.SharePoint.SPFolder'.

     

    Me produce este Error

    jueves, 25 de marzo de 2010 16:42
  • Deberías de poder recorrer la colección de FileCole (http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfilecollection_members.aspx) y obtener todos los SPFiles de tu carpeta de imágenes.
    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin
    jueves, 25 de marzo de 2010 18:45
  • Deberías de poder recorrer la colección de FileCole (http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfilecollection_members.aspx) y obtener todos los SPFiles de tu carpeta de imágenes.
    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin
    jueves, 25 de marzo de 2010 18:47