Clase SPFile
Representa un archivo en un sitio SharePoint Web que puede ser un Página de elementos web, un elemento de una biblioteca de documentos o un archivo en una carpeta.
Jerarquía de la herencia
System.Object
Microsoft.SharePoint.SPFile
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Class SPFile
'Uso
Dim instance As SPFile
public class SPFile
Comentarios
Utilice el método GetFile o GetFileAsString de la clase SPWeb para devolver un objeto de archivo único. De lo contrario, use la propiedad Files de clase de la SPWeb o SPFolder para devolver un objeto SPFileCollection que representa la colección de archivos para un sitio o la carpeta. Utilice un indizador para devolver un único archivo de la colección. Por ejemplo, si la colección se asigna a una variable denominada collFiles, use collFiles[index] en C# o collFiles(index) en Visual Basic, donde index es el número de índice del archivo en la colección, el nombre de archivo, incluida la extensión, o un sitio Web relativo, colección relativa o absoluta dirección URL del sitio.
Ejemplos
En este ejemplo se agrega un archivo de la biblioteca de documentos de un sitio a la biblioteca de documentos documentos compartidos de otro sitio y sus subsitios.
Para obtener un ejemplo que muestra cómo se carga un archivo local en una carpeta en un sitio de SharePoint mediante programación, vea 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();
Nota
Determinados objetos implementan la interfaz de IDisposable y, a continuación, se debe evitar la conservación de estos objetos en la memoria que ya no se necesitan. Para obtener información acerca de buenas prácticas de codificación, vea Disposing Objects.
Seguridad para subprocesos
Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.