Lists.AddAttachment - Méthode
Ajoute une pièce jointe à l'élément de liste spécifié dans la liste spécifiée.
Espace de noms : WebSvcLists
Assembly : STSSOAP (dans STSSOAP.dll)
Syntaxe
'Déclaration
<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)> _
Public Function AddAttachment ( _
listName As String, _
listItemID As String, _
fileName As String, _
attachment As Byte() _
) As String
'Utilisation
Dim instance As Lists
Dim listName As String
Dim listItemID As String
Dim fileName As String
Dim attachment As Byte()
Dim returnValue As String
returnValue = 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)]
public string AddAttachment(
string listName,
string listItemID,
string fileName,
byte[] attachment
)
Paramètres
listName
Type : System.StringChaîne qui contient le titre ou le GUID de la liste.
listItemID
Type : System.StringChaîne qui contient l'ID de l'élément vers lequel les pièces jointes sont ajoutées. Cette valeur ne correspond pas à l'index de l'élément au sein de la collection d'éléments de liste.
fileName
Type : System.StringChaîne qui contient le nom du fichier à ajouter en tant que pièce jointe.
attachment
Type : []Un tableau d'octets qui contient le fichier à joindre en utilisant le codage en base 64.
Valeur renvoyée
Type : System.String
Chaîne qui contient l'URL de la pièce jointe, qui peut ensuite être utilisée pour faire référence à la pièce jointe.
Exemples
L'exemple de code suivant ajoute un fichier local en tant que pièce jointe à un élément de liste spécifié. L'exemple utilise un objet System.IO.FileStream pour lire le fichier source dans un tableau d'octets qui est transmis en tant que paramètre de la méthode AddAttachment .
Cet exemple suppose qu'une directive de Imports (Visual Basic) soit incluse pour l'espace de noms System.IO ou de using (Visual c#). L'exemple suppose également l'existence d'une zone de texte sous la forme de l'application 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);
}