SPFile - Classe

Représente un fichier dans un site SharePoint Web qui peut être un Page de composants WebPart, un élément dans une bibliothèque de documents, ou un fichier dans un dossier.

Hiérarchie d’héritage

System.Object
  Microsoft.SharePoint.SPFile

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Class SPFile
'Utilisation
Dim instance As SPFile
public class SPFile

Remarques

Utilisez la méthode GetFile ou GetFileAsString de la classe SPWeb pour renvoyer un objet de fichier unique. Dans le cas contraire, utilisez la propriété Files de la SPWebSPFolder classe ou pour renvoyer un objet SPFileCollection qui représente la collection de fichiers d'un site ou d'un dossier. Pour renvoyer un fichier unique à partir de la collection, utilisez un indexeur. Par exemple, si la collection est assignée à une variable nommée collFiles, utilisez collFiles[index] dans C# ou collFiles(index) dans Visual Basic, où index est le numéro d'index du fichier dans la collection, le nom du fichier, y compris d'extension ou un site Web relatif, URL relative ou absolue de la collection de sites.

Exemples

Cet exemple ajoute un fichier à partir de la bibliothèque de documents d'un site à la bibliothèque de documents Documents partagés d'un autre site et ses sous-sites.

Pour obtenir un exemple qui montre comment télécharger un fichier local dans un dossier sur un site SharePoint par programme, consultez 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();

Notes

Certains objets implémentent l'interface IDisposable , et vous devez éviter de conserver ces objets dans la mémoire après que qu'ils ne sont plus nécessaires. Pour plus d'informations sur les bonnes pratiques de codage, consultez Disposing Objects.

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

SPFile - Membres

Microsoft.SharePoint - Espace de noms