Hallo Leute,
wie in einem anderen Thema bereits geschrieben, habe ich versucht, eine Datei via SFTP hochzuladen. Das gelingt mir nun einwandfrei (verwende die Library SharpSSH von Tamir Gal).
Nun stehe ich aber vor einem Problem, und zwar blockiert ein Upload größerer Dateien die GUI. Dieses Problem kenne ich schon von der einfachen WebClient-Methode (leider ohne SFTP), da kann man eine Datei mit "Async" ja asynchron hochladen (also kann das Programm während des Uploads andere Sachen erledigen).
Diesen Code verwende ich mit der SharpSSH-Library:
Mit folgendem Code lässt sich bei dieser Library sogar feststellen, wie weit der Upload ist:
Nun blockiert der Upload aber trotzdem die GUI. Wir kann ich (kostenlos, also nicht mit Rebex und Co.) eine Datei per SFTP hochladen und gleichzeitig eine Blockierung der GUI verhindern (mit Upload-Fortschrittsanzeige)?
MfG und Danke schonmal
wie in einem anderen Thema bereits geschrieben, habe ich versucht, eine Datei via SFTP hochzuladen. Das gelingt mir nun einwandfrei (verwende die Library SharpSSH von Tamir Gal).
Nun stehe ich aber vor einem Problem, und zwar blockiert ein Upload größerer Dateien die GUI. Dieses Problem kenne ich schon von der einfachen WebClient-Methode (leider ohne SFTP), da kann man eine Datei mit "Async" ja asynchron hochladen (also kann das Programm während des Uploads andere Sachen erledigen).
Diesen Code verwende ich mit der SharpSSH-Library:
Code:
Private WithEvents transfer As SecureFileTransfer
Public Event onTransferProgress(ByVal source As String, ByVal destination As String, ByVal transferredBytes As Integer, ByVal totalBytes As Integer, ByVal message As String)
Public Function putFile(ByVal localFile As String, ByVal remotePath As String) As Boolean
Try
transfer = New Sftp(Me._hostname, Me._username, Me._password)
transfer.Connect(Me._port)
transfer.Put(localFile, remotePath)
transfer.Close()
Return True
Catch ex As Exception
Debug.Print("Error uploading file: " & ex.ToString)
Return False
End Try
End Function
transfer = New SecureFileTransfer("ftp.server.com", Integer.Parse("22"), user, pass)
transfer.putFile("test.txt", "/ordner_auf_ftp/" & "text.txt")
Mit folgendem Code lässt sich bei dieser Library sogar feststellen, wie weit der Upload ist:
Code:
Private Sub _onTransferProgress(ByVal source As String, ByVal destination As String, ByVal transferredBytes As Integer, ByVal totalBytes As Integer, ByVal message As String) Handles transfer.onTransferProgress
ProgressBar1.Maximum = totalBytes
ProgressBar1.Value = transferredBytes
End Sub
Nun blockiert der Upload aber trotzdem die GUI. Wir kann ich (kostenlos, also nicht mit Rebex und Co.) eine Datei per SFTP hochladen und gleichzeitig eine Blockierung der GUI verhindern (mit Upload-Fortschrittsanzeige)?
MfG und Danke schonmal