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.StringA URL do site relativo do arquivo.
file
Type: []Uma matriz de bytes que contém o arquivo.
createdBy
Type: Microsoft.SharePoint.SPUserO usuário que criou o arquivo.
modifiedBy
Type: Microsoft.SharePoint.SPUserO usuário que fez a última modificação no arquivo.
timeCreated
Type: System.DateTimeA 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.DateTimeA 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();
}