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.