Freigeben über


SPAttachmentCollection-Klasse

Stellt die Auflistung von Anlagen für ein Listenelement dar.

Vererbungshierarchie

System.Object
  Microsoft.SharePoint.SPAttachmentCollection

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
Public Class SPAttachmentCollection _
    Implements ICollection, IEnumerable
'Usage
Dim instance As SPAttachmentCollection
public class SPAttachmentCollection : ICollection, 
    IEnumerable

Hinweise

Verwenden Sie die Attachments -Eigenschaft der SPListItem -Klasse, um die Auflistung von Anlagen für ein Listenelement zurückzugeben. Wenn eine Anlage erstellen möchten, verwenden Sie die Add -Methode

Verwenden Sie eine Indexerstellung, um den Dateinamen einer einzelnen Anlage aus der Auflistung zurückzugeben. Beispielsweise vorausgesetzt, dass die Auflistung einer Variablen mit dem Namen collAttachments zugewiesen wird, verwenden Sie collAttachments[index] in c# oder collAttachments(index) in Visual Basic, wobei index die Indexnummer der Anlage in der Auflistung ist.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie alle Dateien aus einer Dokumentbibliothek Freigegebene Dokumente an das erste Listenelement in einer Liste anfügen, die für jede Unterwebsite unter der Website angezeigt wird.

Die Add -Methode der Klasse SPAttachmentCollection erfordert, dass Sie die Datei im Binärformat als Parameter übergeben. Aus diesem Grund verwendet das Beispiel die OpenBinary -Methode der SPFile -Klasse, um jede Datei innerhalb des Ordners im Binärformat zu öffnen.

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

Hinweis

Bestimmte Objekte, die IDisposable -Schnittstelle implementieren, und müssen Sie vermeiden, diese Objekte im Arbeitsspeicher beibehalten, wenn sie nicht mehr benötigt werden. Informationen zu bewährten Codierung finden Sie unter Disposing Objects.

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

SPAttachmentCollection-Member

Microsoft.SharePoint-Namespace