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.