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.StringL'URL relative au site du fichier.
file
Type : []Un tableau d'octets qui contient le fichier.
createdBy
Type : Microsoft.SharePoint.SPUserL'utilisateur qui a créé le fichier.
modifiedBy
Type : Microsoft.SharePoint.SPUserL'utilisateur qui a modifié le fichier.
timeCreated
Type : System.DateTimeLa 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.DateTimeLa 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();
}