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.