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.