Класс SPFile
Представляет файл SharePoint веб-узла, может быть Страница "Веб-части", элемента в библиотеке документов или файлов в папке.
Иерархия наследования
System.Object
Microsoft.SharePoint.SPFile
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public Class SPFile
'Применение
Dim instance As SPFile
public class SPFile
Замечания
Используйте метод GetFile или GetFileAsString класса SPWeb для возврата объекта один файл. В противном случае используйте свойство Files или SPWeb , или SPFolder класса возвращает объект SPFileCollection , который представляет коллекцию файлов веб-узла или папки. Используйте индексатор для получения один файл из коллекции. Например если коллекция присваивается переменной с именем collFiles, используйтеindexcollFiles[] в C# илиindexcollFiles() в Visual Basic, где индекс в коллекции, имя файла, включая расширение или относительный, веб-узел коллекции относительный или абсолютный URL-адрес узла в файле index .
Примеры
Этот пример добавляет файл из одного узла библиотеки документов в библиотеку документов Общие документы из другого веб-узла и его дочерних узлов.
Пример, в котором показано, как программно передача локального файла в папку на сайте SharePoint How to: Upload a File to a SharePoint Site from a Local Folderсм.
Dim siteCollection As SPSite = SPContext.Current.Site
Dim srcSite As SPWeb = siteCollection.AllWebs("Source_Site_Name")
Dim destSites As SPWebCollection =
siteCollection.AllWebs("Destination_Site_Name").Webs
Dim srcFile As SPFile =
srcSite.GetFile("Source_Folder_Name/Source_File")
Dim fileName As String = srcFile.Name
Dim binFile As Byte() = srcFile.OpenBinary()
Dim destSite As SPWeb
For Each destSite In destSites
If destSite.GetFolder("Shared Documents").Exists Then
Dim destFolder As SPFolder =
destSite.GetFolder("Shared Documents")
destFolder.Files.Add(fileName, binFile, True)
End If
Next destSite
SPSite oSiteCollection = SPContext.Current.Site;
SPWeb oWebsiteSrc = oSiteCollection.AllWebs["Source_Site_Name"];
SPWebCollection collWebsites =
oSiteCollection.AllWebs["Destination_Site_Name"].Webs;
SPFile oFile = oWebsiteSrc.GetFile("Source_Folder_Name/Source_File");
string strFilename = oFile.Name;
byte[] binFile = oFile.OpenBinary();
foreach (SPWeb oWebsite in collWebsites)
{
if (oWebsite.GetFolder("Shared Documents").Exists)
{
SPFolder oFolder = oWebsite.GetFolder("Shared Documents");
oFolder.Files.Add(strFilename, binFile, true);
}
oWebsite.Dispose();
}
oWebsiteSrc.Dispose();
Примечание
Некоторые объекты реализуют интерфейс IDisposable и следует избегать сохранения этих объектов в памяти, после они больше не нужны. Disposing Objectsсведения о рекомендованные методы программирования, см.
Потокобезопасность
Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.