Clase SPAttachmentCollection

Representa la colección de datos adjuntos para un elemento de lista.

Jerarquía de la herencia

System.Object
  Microsoft.SharePoint.SPAttachmentCollection

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Public Class SPAttachmentCollection _
    Implements ICollection, IEnumerable
'Uso
Dim instance As SPAttachmentCollection
public class SPAttachmentCollection : ICollection, 
    IEnumerable

Comentarios

Utilice la propiedad Attachments de la clase SPListItem para devolver la colección de datos adjuntos de un elemento de lista. Para crear un archivo adjunto, utilice el método Add

Utilice un indizador para devolver el nombre de archivo de un solo dato adjunto de la colección. Por ejemplo, suponiendo que la colección se asigna a una variable denominada collAttachments , use collAttachments[index] en C# o collAttachments(index) en Visual Basic, donde index es el número de índice de los datos adjuntos en la colección.

Ejemplos

En el ejemplo de código siguiente se muestra cómo adjuntar todos los archivos de una biblioteca de documentos documentos compartidos para el primer elemento de lista dentro de una lista que aparece en cada subsitio en el sitio.

El método Add de la clase SPAttachmentCollection requiere que se pase el archivo como un parámetro en formato binario. Por lo tanto, el ejemplo utiliza el método OpenBinary de la clase SPFile para abrir cada archivo dentro de la carpeta en formato binario.

Dim oSiteCollection As SPSite = SPContext.Current.Site
Dim collWebsites As SPWebCollection = oSiteCollection.AllWebs

Dim oWebsite As SPWeb = collWebsites("Site_Name")
Dim oFolder As SPFolder = oWebsite.Folders("Shared Documents")

For Each oWebsiteNext As SPWeb In collWebsites
    Dim oList As SPList = oWebsiteNext.Lists("List_Name")
    Dim collItem As SPListItemCollection = oList.Items
    Dim oListItem As SPListItem = collItem(0)
    Dim collAttachments As SPAttachmentCollection = oListItem.Attachments

    Dim collFiles As SPFileCollection = oFolder.Files

    For Each oFile As SPFile In collFiles
        Dim strFileName As String = oFile.Name
        Dim binFile As Byte() = oFile.OpenBinary()
 
        collFiles.Add(strFileName, binFile)
    Next oFile

    oListItem.Update()
    oWebsiteNext.Dispose()
Next oWebsiteNext

oWebsite.Dispose()
SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsites = oSiteCollection.AllWebs;

SPWeb oWebsite = collWebsites["Site_Name"];
SPFolder oFolder = oWebsite.Folders["Shared Documents"];

foreach (SPWeb oWebsiteNext in collWebsites)
{
    SPList oList = oWebsiteNext.Lists["List_Name"];
    SPListItemCollection collItem = oList.Items;
    SPListItem oListItem = collItem[0];
    SPAttachmentCollection collAttachments = oListItem.Attachments;

    SPFileCollection collFiles = oFolder.Files;

    foreach (SPFile oFile in collFiles)
    {
        string strFileName = oFile.Name;

        byte[] binFile = oFile.OpenBinary();

        collFiles.Add(strFileName, binFile);
    }

    oListItem.Update();
    oWebsiteNext.Dispose();
}
oWebsite.Dispose();

Nota

Determinados objetos implementan la interfaz de IDisposable y, a continuación, se debe evitar la conservación de estos objetos en la memoria que ya no se necesitan. Para obtener información acerca de buenas prácticas de codificación, vea Disposing Objects.

Seguridad para subprocesos

Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.

Vea también

Referencia

Miembros SPAttachmentCollection

Espacio de nombres Microsoft.SharePoint