Hallo,
ich lade verschiedene Infos inkl. einer PDF-Datei an eine URL.
Alles funktioniert soweit korrekt bis auf den Abbruch der Aktion.
Problem: Sobald CancelAsync() ausgeführt wird, wird der Upload zwar beendet, d.h. die Complete-Funktion wird sofort aufgerufen, aber die Daten werden dennoch an den Server gesendet, inkl. der unfertigen PDF.
Auch während des kompletten Uploads wird auf dem Server noch nichts empfangen. Erst wenn die Datei vollständig ist kommen die Daten komplett an, oder aber leider auch wenn der Abbruch eingeleitet wurde.
Ich erwarte dass beim Abbruch NICHTS am Server ankommt.
Ich wäre für jeden sinnvollen Lösungsansatz dankbar.
ich lade verschiedene Infos inkl. einer PDF-Datei an eine URL.
Alles funktioniert soweit korrekt bis auf den Abbruch der Aktion.
Problem: Sobald CancelAsync() ausgeführt wird, wird der Upload zwar beendet, d.h. die Complete-Funktion wird sofort aufgerufen, aber die Daten werden dennoch an den Server gesendet, inkl. der unfertigen PDF.
Auch während des kompletten Uploads wird auf dem Server noch nichts empfangen. Erst wenn die Datei vollständig ist kommen die Daten komplett an, oder aber leider auch wenn der Abbruch eingeleitet wurde.
Ich erwarte dass beim Abbruch NICHTS am Server ankommt.
Ich wäre für jeden sinnvollen Lösungsansatz dankbar.
Public client As WebClient = New WebClient()
---
AddHandler client.UploadValuesCompleted, AddressOf UploadValuesCompleted
arrPost = New Specialized.NameValueCollection
arrPost.Add("token", token)
arrPost.Add("filename", fileInfo.Name)
arrPost.Add("contentEncoding", "base64")
arrPost.Add("content", System.Convert.ToBase64String(My.Computer.FileSystem.ReadAllBytes(fileName)))
client.UploadValuesAsync(New System.Uri(urlToUpload), arrPost)
---
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles cmdCancel.Click
If client.IsBusy = True Then
client.CancelAsync()
End If
End Sub
--
Private Sub UploadValuesCompleted(ByVal sender As Object, ByVal e As Net.UploadValuesCompletedEventArgs)
Try
If e.Cancelled = True Then
client.Dispose()
Else
' Response verarbeiten
End If
Catch ex As Exception
' MessageBox
End Try
End Sub