Поделиться через


Класс SPAttachmentCollection

Перезагружает расширенные свойства элемента списка.

Иерархия наследования

System.Object
  Microsoft.SharePoint.SPAttachmentCollection

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Public Class SPAttachmentCollection _
    Implements ICollection, IEnumerable
'Применение
Dim instance As SPAttachmentCollection
public class SPAttachmentCollection : ICollection, 
    IEnumerable

Замечания

Свойство Attachments класса SPListItem для возврата коллекции вложений для элемента списка. Чтобы создать вложение, используйте метод Add

Используйте индексатор для возвращения имени файла одного вложения из коллекции. Например предположим, что коллекция присваивается переменной с именем collAttachments , используйтеindexcollAttachments[] в C# илиindexcollAttachments() в Visual Basic, где index – номер индекса вложения в коллекции.

Примеры

В следующем примере кода показано, как присоединять файлы из библиотеки общих документов к первому элементу списка в список, отображаемый для каждого дочернего узла.

Метод Add класса SPAttachmentCollection требует передать как параметр файл в двоичном формате. Таким образом в примере используется метод OpenBinary класса SPFile для открытия любого файла в папке в двоичном формате.

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

Примечание

Некоторые объекты реализуют интерфейс IDisposable и следует избегать сохранения этих объектов в памяти, после они больше не нужны. Disposing Objectsсведения о рекомендованные методы программирования, см.

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SPAttachmentCollection

Пространство имен Microsoft.SharePoint