SPAttachmentCollection - Classe

Représente la collection de pièces jointes pour un élément de liste.

Hiérarchie d’héritage

System.Object
  Microsoft.SharePoint.SPAttachmentCollection

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Class SPAttachmentCollection _
    Implements ICollection, IEnumerable
'Utilisation
Dim instance As SPAttachmentCollection
public class SPAttachmentCollection : ICollection, 
    IEnumerable

Remarques

Utilisez la propriété Attachments de la classe SPListItem pour renvoyer la collection de pièces jointes pour un élément de liste. Pour créer une pièce jointe, utilisez la méthode Add

Utilisez l'indexeur pour renvoyer le nom de fichier d'une seule pièce jointe à partir de la collection. Par exemple, en supposant que la collection est assignée à une variable nommée collAttachments , utilisez collAttachments[index] dans C# ou collAttachments(index) dans Visual Basic, où index est le numéro d'index de la pièce jointe dans la collection.

Exemples

L'exemple de code suivant montre comment joindre tous les fichiers à partir d'une bibliothèque de documents Documents partagés sur le premier élément de la liste dans une liste qui s'affiche sur chaque sous-site sous le site.

La méthode Add de la classe SPAttachmentCollection nécessite que vous passez le fichier en tant que paramètre au format binaire. Par conséquent, l'exemple utilise la méthode OpenBinary de la classe SPFile pour ouvrir chaque fichier dans le dossier au format binaire.

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

Notes

Certains objets implémentent l'interface IDisposable , et vous devez éviter de conserver ces objets dans la mémoire après que qu'ils ne sont plus nécessaires. Pour plus d'informations sur les bonnes pratiques de codage, consultez Disposing Objects.

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

SPAttachmentCollection - Membres

Microsoft.SharePoint - Espace de noms