SPFile 类

表示可以是Web 部件页一个 SharePoint 网站中的文件、 文档库中的项或文件夹中的文件。

继承层次结构

System.Object
  Microsoft.SharePoint.SPFile

命名空间:  Microsoft.SharePoint
程序集:  Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)

语法

声明
Public Class SPFile
用法
Dim instance As SPFile
public class SPFile

备注

使用GetFileGetFileAsStringSPWeb类的方法以返回单个文件的对象。否则,使用的SPWebSPFolder类的Files属性返回SPFileCollection对象,该对象表示的文件的站点或文件夹的集合。使用索引器从集合中返回单个文件。例如,如果该集合分配给名为collFiles的变量中,使用在 C# collFiles[index]或collFiles(index)在 Visual Basic,其中index是该文件的文件名称,包括扩展名或 Web 站点相对,网站集的相对或绝对 URL,集合中的索引号。

示例

本示例添加的文档库中的一个站点到另一个网站和其所有子网站的共享文档文档库文件。

有关的示例,演示如何以编程方式将本地文件上载到 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

线程安全性

该类型的任何公共 静态 (已共享 在 Visual Basic 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。

另请参阅

引用

SPFile 成员

Microsoft.SharePoint 命名空间