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
备注
使用GetFile或GetFileAsStringSPWeb类的方法以返回单个文件的对象。否则,使用的SPWeb或SPFolder类的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 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。