Compartir a través de


(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.String

    Dirección URL relativa del sitio del archivo.

  • file
    Tipo: []

    Una matriz de bytes que contiene el archivo.

  • timeCreated
    Tipo: System.DateTime

    La 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.DateTime

    La 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();
}

Vea también

Referencia

clase SPFileCollection

Miembros SPFileCollection

Sobrecarga Add

Espacio de nombres Microsoft.SharePoint