SPFileCollection.Add - Méthode (String, Byte[], SPUser, SPUser, DateTime, DateTime)

Crée un fichier dans la collection à l'aide de l'URL spécifiée, un tableau d'octets qui contient le contenu d'un fichier, les objets utilisateur qui représentent les utilisateurs qui ont créé et modifié les valeurs du fichier et DateTime qui spécifient ce moment-là.

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

Syntaxe

'Déclaration
Public Function Add ( _
    urlOfFile As String, _
    file As Byte(), _
    createdBy As SPUser, _
    modifiedBy As SPUser, _
    timeCreated As DateTime, _
    timeLastModified As DateTime _
) As SPFile
'Utilisation
Dim instance As SPFileCollection
Dim urlOfFile As String
Dim file As Byte()
Dim createdBy As SPUser
Dim modifiedBy As SPUser
Dim timeCreated As DateTime
Dim timeLastModified As DateTime
Dim returnValue As SPFile

returnValue = instance.Add(urlOfFile, _
    file, createdBy, modifiedBy, timeCreated, _
    timeLastModified)
public SPFile Add(
    string urlOfFile,
    byte[] file,
    SPUser createdBy,
    SPUser modifiedBy,
    DateTime timeCreated,
    DateTime timeLastModified
)

Paramètres

  • urlOfFile
    Type : System.String

    L'URL relative au site du fichier.

  • file
    Type : []

    Un tableau d'octets qui contient le fichier.

  • timeCreated
    Type : System.DateTime

    La date et l'heure de création du fichier. Pour définir l'heure de création, vous devez également définir cette valeur par l'intermédiaire de l'indexeur de l'élément de liste qui est associé au fichier et appelez la méthode Update .

  • timeLastModified
    Type : System.DateTime

    La date et l'heure de la dernière modification de fichier. Pour définir l'heure de dernière modifié, vous devez également définir cette valeur par l'intermédiaire de l'indexeur de l'élément de liste qui est associé au fichier et appelez la méthode Update .

Valeur renvoyée

Type : Microsoft.SharePoint.SPFile
Le fichier nouvellement ajouté.

Remarques

Cette méthode ne peut pas remplacer un fichier si le fichier existe déjà. Si l'utilisateur qui exécute la commande n'est pas un membre du groupe de sites Administrateur, l'objet et DateTime la valeur SPUser ne s'applique pas.

Cette méthode Add fonctionne sur une bibliothèque de documents du site ; Toutefois, si vous l'utilisez avec une bibliothèque de documents de zone, l'appel échoue avec une erreur « Accès refusé ». Si vous n'incluez pas les quatre derniers paramètres dans la méthode Add , le fichier est ajouté à la bibliothèque de documents de zone, mais vous ne pouvez pas modifier les heures et auteur de document.

Exemples

L'exemple de code suivant copie chacun des fichiers dans le dossier le plus haut d'une bibliothèque de documents sur un site dans la bibliothèque de documents d'un autre site. Conserve l'exemple la fois créé et les valeurs de la bibliothèque d'origine de la dernière modification.

Dim site As SPSite = SPContext.Current.Site
Try
    Dim srcFolder As SPFolder = site.AllWebs("MySourceWebSite").GetFolder("MySourceDocLib")
    Dim destFiles As SPFileCollection = site.AllWebs("MyDestinationWebSite").GetFolder("MyDestinationDocLib").Files

    Dim srcFile As SPFile
    For Each srcFile In  srcFolder.Files
        Dim destURL As String = destFiles.Folder.Url + "/" + srcFile.Name
        Dim binFile As Byte() = srcFile.OpenBinary()
        Dim userAuthor As SPUser = srcFile.Author
        Dim userModified As SPUser = srcFile.ModifiedBy
        Dim created As System.DateTime = srcFile.TimeCreated
        Dim modified As System.DateTime = srcFile.TimeLastModified

        Dim newFile As SPFile = destFiles.Add(destURL, binFile, userAuthor, userModified, created, modified)

        Dim fileItem As SPListItem = newFile.Item
        fileItem("Created") = created
        fileItem("Modified") = modified
        fileItem.Update()
    Next srcFile
Finally
    site.Dispose() 
End Try
SPSite oSiteCollection = SPContext.Current.Site;
SPFolder oFolder = oSiteCollection.AllWebs["SourceWebSite"].GetFolder("SourceDocLib");
SPFileCollection collFiles = oSiteCollection.AllWebs["DestWebSite"].GetFolder("DestDocLib").Files;

foreach (SPFile oFile in collFiles.Files)
{
    string strDestUrl = collFiles.Folder.Url + "/" + srcFile.Name;
    byte[] binFile = oFile.OpenBinary();

    SPUser oUserAuthor = oFile.Author;
    SPUser oUserModified = oFile.ModifiedBy;
    System.DateTime dtCreated = oFile.TimeCreated;
    System.DateTime dtModified = oFile.TimeLastModified;

    SPFile oFileNew = collFiles.Add(strDestUrl, binFile, oUserAuthor, oUserModified, dtCreated, dtModified);
    SPListItem oListItem = oFileNew.Item;
    oListItem["Created"] = dtCreated;
    oListItem["Modified"] = dtModified;
    oListItem.Update();
}

Voir aussi

Référence

SPFileCollection classe

SPFileCollection - Membres

Add - Surcharge

Microsoft.SharePoint - Espace de noms