(String, Byte[], SPUser, SPUser, DateTime, DateTime) del método SPFileCollection.Add
Crea un archivo de la colección utilizando la dirección URL especificada, una matriz de bytes que contiene el contenido de un archivo, los objetos de usuario que representan a los usuarios que han creado y se modificó por última vez el archivo y los valores de DateTime que especifican cuando lo hicieron.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Function Add ( _
urlOfFile As String, _
file As Byte(), _
createdBy As SPUser, _
modifiedBy As SPUser, _
timeCreated As DateTime, _
timeLastModified As DateTime _
) As SPFile
'Uso
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
)
Parámetros
urlOfFile
Tipo: System.StringDirección URL relativa del sitio del archivo.
file
Tipo: []Una matriz de bytes que contiene el archivo.
createdBy
Tipo: Microsoft.SharePoint.SPUserEl usuario que creó el archivo.
modifiedBy
Tipo: Microsoft.SharePoint.SPUserEl último usuario que modificó el archivo.
timeCreated
Tipo: System.DateTimeLa fecha y la hora en la que se creó el archivo. Para establecer la hora de crear, también debe establecer este valor mediante el indizador del elemento de lista que está asociado con el archivo y llame al método Update .
timeLastModified
Tipo: System.DateTimeLa fecha y hora de última modificación. Para establecer la hora de última modificada, también debe establecer este valor mediante el indizador del elemento de lista que está asociado con el archivo y llame al método Update .
Valor devuelto
Tipo: Microsoft.SharePoint.SPFile
El archivo recién agregado.
Comentarios
Este método no puede sobrescribir un archivo si el archivo ya existe. Si el usuario que ejecuta el comando no es un miembro del grupo de sitio Administrador, no se aplica el valor del objeto y DateTimeSPUser .
Este método de Add funciona en una biblioteca de documentos del sitio; Sin embargo, si se utiliza con una biblioteca de documentos de área, la llamada produce un error de "Acceso denegado". Si no se incluyen los últimos cuatro parámetros en el método Add , el archivo se agrega a la biblioteca de documentos de área, pero no puede cambiar los tiempos del autor y el documento.
Ejemplos
En el ejemplo de código siguiente se copia cada uno de los archivos en la carpeta superior de una biblioteca de documentos de un sitio a la biblioteca de documentos de otro sitio. Las conservas de ejemplo, el tiempo de creación y última modificación los valores de la biblioteca original.
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();
}