Compartilhar via


Lists.AddAttachment Method

Adiciona um anexo ao item de lista especificado na lista especificada.

Web Service: ListsWeb Reference: http://<Site>/_vti_bin/Lists.asmx

Syntax

'Declaração
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/AddAttachment", RequestNamespace:="https://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace:="https://schemas.microsoft.com/sharepoint/soap/", Use:=SoapBindingUse.Literal, ParameterStyle:=SoapParameterStyle.Wrapped)> _
PublicFunctionAddAttachment ( _
    listNameAsString, _
    listItemIDAsString, _
    fileNameAsString, _
    attachmentAsByte() _
) AsString
'Uso
DiminstanceAsListsDimlistNameAsStringDimlistItemIDAsStringDimfileNameAsStringDimattachmentAsByte()
DimreturnValueAsStringreturnValue = instance.AddAttachment(listName, listItemID, fileName, attachment)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/AddAttachment", RequestNamespace="https://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace="https://schemas.microsoft.com/sharepoint/soap/", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)] 
publicstringAddAttachment (
    stringlistName,
    stringlistItemID,
    stringfileName,
    byte[] attachment
)

Parameters

  • listName
    Uma seqüência de caracteres que contém o título ou o GUID para a lista.
  • listItemID
    Uma seqüência de caracteres que contém a identificação do item ao qual os anexos são adicionados. Esse valor não corresponde ao índice do item dentro de coleção de itens de lista.
  • fileName
    Uma seqüência de caracteres que contém o nome do arquivo para adicionar como um anexo.
  • attachment
    Um matriz de bytes que contém o arquivo para anexar usando codificação base-64.

Return Value

Uma seqüência de caracteres que contém o URL para o anexo, que posteriormente pode ser usado para fazer referência o anexo.

Example

O exemplo de código a seguir adiciona um arquivo local como um anexo em um item de lista especificado. O exemplo usa um objeto System.IO.FileStream para ler o arquivo de origem em um matriz de bytes que é passado como um parâmetro do método AddAttachment.

Esse exemplo requer que um using (Visual C#) ou Imports (Visual Basic) diretiva estar incluído para o namespace System.IO.O exemplo a também pressupõe a existência de uma caixa de texto in a forma da aplicativos do Windows.

Dim srcUrl As String = textBox1.Text

If Not File.Exists(srcUrl) Then

    Throw New ArgumentException(String.Format("{0} does not exist", 
        srcUrl), "srcUrl")

End If

Dim fStream As FileStream = File.OpenRead(srcUrl)
Dim fileName As String = fStream.Name.Substring(3)
Dim contents(fStream.Length) As Byte
fStream.Read(contents, 0, CInt(fStream.Length))

fStream.Close()

Dim listService As New Web_Reference_Folder.Lists()
listService.Credentials = System.Net.CredentialCache.DefaultCredentials

Try

    Dim addAttach As String = listService.AddAttachment("List_Name", 
        "3", fileName, contents)

    MessageBox.Show(addAttach)

    Catch ex As System.Web.Services.Protocols.SoapException

        MessageBox.Show("Message:" + ControlChars.Lf + ex.Message + 
                ControlChars.Lf + _
            "Detail:" + ControlChars.Lf + ex.Detail.InnerText + 
                ControlChars.Lf + _
            "StackTrace:" + ControlChars.Lf + ex.StackTrace)

End Try
string srcUrl = textBox1.Text;

if (! File.Exists(srcUrl))
{
    throw new ArgumentException(String.Format("{0} does not exist", 
        srcUrl), "srcUrl");
}

FileStream fStream = File.OpenRead(srcUrl);
string fileName = fStream.Name.Substring(3);
byte[] contents = new byte[fStream.Length];
fStream.Read(contents, 0, (int)fStream.Length);
fStream.Close();

Web_Reference_Folder.Lists listService = 
    new Web_Reference_Folder.Lists();
listService.Credentials= System.Net.CredentialCache.DefaultCredentials;

try
{
    string addAttach = listService.AddAttachment("List_Name", "3", 
        fileName, contents);
    MessageBox.Show(addAttach);
}

catch (System.Web.Services.Protocols.SoapException ex)
{
    MessageBox.Show("Message:\n" + ex.Message + "\nDetail:\n" + 
        ex.Detail.InnerText + "\nStackTrace:\n" + ex.StackTrace);
}

See Also

Reference

Lists Class
Lists Members
Lists Web Service