SPAttachmentCollection class
Represents the collection of attachments for a list item.
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Use the Attachments property of the SPListItem class to return the collection of attachments for a list item. To create an attachment, use the Add method
Use an indexer to return the file name of a single attachment from the collection. For example, assuming the collection is assigned to a variable named collAttachments , use collAttachments[index] in C#, or collAttachments(index) in Visual Basic, where index is the index number of the attachment in the collection.
The following code example shows how to attach all the files from a Shared Documents document library to the first list item within a list that appears on every subsite under the site.
The Add method of the SPAttachmentCollection class requires that you pass the file as a parameter in binary format. Therefore, the example uses the OpenBinary method of the SPFile class to open each file within the folder in binary format.
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();
Note
|
|---|
Certain objects implement the IDisposable interface, and you must avoid retaining these objects in memory after they are no longer needed. For information about good coding practices, see Disposing Objects. |
Note