Compartilhar via


SPFileCollection.Add method (String, Stream, SPUser, SPUser, DateTime, DateTime)

Cria um arquivo na coleção usando o URL especificado, um fluxo 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 Stream, _
    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 Stream
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,
    Stream file,
    SPUser createdBy,
    SPUser modifiedBy,
    DateTime timeCreated,
    DateTime timeLastModified
)

Parâmetros

  • urlOfFile
    Type: System.String

    A URL do site relativo do 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.

Examples

O exemplo de código a seguir copia todos os arquivos em uma biblioteca de documentos de um site da Web para uma biblioteca de documentos em outro site da Web. A preserva de exemplo o tempo criado e modificado pela última vez os valores da biblioteca original.

Try
    Dim srcSiteCollection As New SPSite("http://SourceSiteCollection")

    Try
        Dim srcWebSite As SPWeb = srcSiteCollection.AllWebs("SourceWebSite")
        Dim srcList As SPList = srcWebSite.GetList("SourceWebSite/SourceDocLib")

        Dim srcItems As SPListItemCollection = srcList.Items

        Dim srcItem As SPListItem
        For Each srcItem In  srcItems
            Dim srcFile As SPFile = srcItem.File
            Dim srcStream As Stream = srcFile.OpenBinaryStream()

            Dim destinSiteCollection As New SPSite("http://DestinationSiteCollection")

            Try
                Dim destinWebSite As SPWeb = destinSiteCollection.OpenWeb("DestinationWebSite")
                Dim destinList As SPList = destinWebSite.GetList("DestinationWebSite/DestinationDocLib")

                Dim destinFiles As SPFileCollection = destinList.RootFolder.Files

                Try
                    Dim destinFile As SPFile = destinFiles.Add(destinList + "/" + srcFile.Name, srcStream, srcFile.Author, srcFile.ModifiedBy, srcFile.TimeCreated, srcFile.TimeLastModified)

                    Dim destinItem As SPListItem = destinFile.Item
                    destinItem("Created") = srcFile.TimeCreated
                    destinItem("Modified") = srcFile.TimeLastModified
                    destinItem.Update()
                Catch Else
                End Try
            Finally
                destinSiteCollection.Dispose()
            End Try
        Next srcItem
    Finally
        srcSiteCollection.Dispose()
    End Try
Catch Else
End Try
try
{
    using (SPSite oSiteCollectionSrc = new SPSite("http://SourceSiteCollection"))
    {
        SPWeb oWebsiteSrc = oSiteCollectionSrc.AllWebs["SourceWebSite"];
        SPList oListSrc = oWebsiteSrc.GetList("SourceWebSite/SourceDocLib");

        SPListItemCollection collListItemsSrc = oListSrc.Items;

        foreach (SPListItem oListItemSrc in collListItemsSrc)
         {
            SPFile oFileSrc = oListItemSrc.File;
            Stream srcStream = oFileSrc.OpenBinaryStream();

            using (SPSite oSiteCollectionDest = new SPSite("http://DestinationSiteCollection"))
            {
                SPWeb oWebsiteDest = oSiteCollectionDest.OpenWeb("DestinationWebSite");
                SPList oListDest = oWebsiteDest.GetList("DestinationWebSite/DestinationDocLib");

                SPFileCollection collFilesDest = oListDest.RootFolder.Files;

                try
                {
                    SPFile oFileDest = collFilesDest.Add(oListDest + @"/" + oFileSrc.Name, srcStream, oFileSrc.Author, oFileSrc.ModifiedBy, oFileSrc.TimeCreated, oFileSrc.TimeLastModified);

                    SPListItem oListItemDest = oFileDest.Item;
                    oListItemDest["Created"] = oFileDest.TimeCreated;
                    oListItemDest["Modified"] = oFileDest.TimeLastModified;
                    oListItemDest.Update();
                }
                catch { }
                oWebsiteDest.Dispose();
            }
        }
        oWebsiteSrc.Dispose();
    }
}
catch { }

Dica

Determinados objetos implementam a interface IDisposable , e você deve evitar reter esses objetos na memória depois que eles não são mais necessários. Para obter informações sobre boas práticas de codificação, consulte Disposing Objects.

Ver também

Referência

SPFileCollection class

SPFileCollection members

Add overload

Microsoft.SharePoint namespace