Compartilhar via


SPFileCollection.Add method (String, Byte[], SPUser, SPUser, DateTime, DateTime)

Cria um arquivo na coleção usando o URL especificado, uma matriz de bytes que contém o conteúdo de um arquivo, os objetos de usuário que representam os usuários que criaram e modificado pela última vez o arquivo e os valores de DateTime que especificam quando eles fizeram isso.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
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
    Type: System.String

    A URL do site relativo do arquivo.

  • file
    Type: []

    Uma matriz de bytes que contém o arquivo.

  • timeCreated
    Type: System.DateTime

    A data e a hora em que o arquivo foi criado. Para definir a hora de criação, você também deve definir esse valor por meio do indexador do item da lista que está associado com o arquivo e chamar o método Update .

  • timeLastModified
    Type: System.DateTime

    A data e hora da última modificação do arquivo. Para definir a hora da última modificada, você também deve definir esse valor por meio do indexador do item da lista que está associado com o arquivo e chame o método Update .

Valor retornado

Type: Microsoft.SharePoint.SPFile
O arquivo adicionado mais recentemente.

Comentários

Este método não pode substituir um arquivo se o arquivo já existe. Se o usuário que está executando o comando não for um membro do grupo administrador do site, o valor de objeto e DateTime de SPUser não se aplica.

Esse método de Add funciona em uma biblioteca de documentos do site; No entanto, se você usá-lo com uma biblioteca de documentos de área, a chamada falhará com um erro "Acesso negado". Se você não incluir os últimos quatro parâmetros no método Add , o arquivo é adicionado à biblioteca de documentos de área, mas você não poderá alterar os horários de autor e documento.

Examples

O exemplo de código a seguir copia todos os arquivos na pasta superior de uma biblioteca de documentos em um site à biblioteca de documentos de outro site. A preserva de exemplo o tempo criado e modificado pela última vez os valores da 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();
}

Ver também

Referência

SPFileCollection class

SPFileCollection members

Add overload

Microsoft.SharePoint namespace