>Upload file als attachment bij een listitem

>

Wanneer je een client (of web) toepassing maakt die niet op de sharepoint server draait moet je de webservices gebruiken die in het sharepoint platform aanwezig zijn. Via de list service kan je ook bestanden toevoegen als attachment bij een listitem.

In dit voorbeeld heb ik een gewone asp.net pagina gemaakt met een FileUpload control.

    <div>   
Bestand: <asp:FileUpload ID="fileUpload" runat="server" /><asp:Button ID="buttonUploadFile" runat="server" Text="Upload" />
<p>
<asp:Label ID="labelError" runat="server" />
</p>
</div>

image

In de code-behind file plaatsen we onderstaande code:

    Private Sub buttonUploadFile_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles buttonUploadFile.Click
Try

If Me.fileUpload.HasFile Then

Dim ms As New MemoryStream(Me.fileUpload.FileBytes)
Dim fileName As String = "demoname.txt"
Dim contents(ms.Length) As Byte
ms.Read(contents, 0, ms.Length)
ms.Close()

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

Dim addAttach As String
Try
addAttach = listService.AddAttachment("{AFBF1D2D-A8CC-4FB5-BDEF-84DA1E477BA9}", "1", fileName, contents)

Catch ex As System.Web.Services.Protocols.SoapException : labelError.Text = ex.ToString
End Try

End If

Catch ex As Exception : labelError.Text = ex.ToString
End Try
End Sub

De belangrijkste regel is:

addAttach = listService.AddAttachment("{AFBF1D2D-A8CC-4FB5-BDEF-84DA1E477BA9}", "1", fileName, contents)

Hier sturen we de bytes van de file door naar de list.