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.

Vea también

Referencia

Miembros SPFile

Espacio de nombres Microsoft.SharePoint