[.NET] VB 2005 Status bei FTP Download?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von MasterJulian, 3. März 2008 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 3. März 2008
    VB 2005 Status bei FTP Download?

    Ich lade per DownloadFileAsync ein File per FTP. Jedoch bekomme ich keinen Status (in Prozent) angezeigt. Nur 0 oder 100. Wenn ich per HTTP laden, funktioniert das ganze super. Gibts da n trick?
    Hier mein Code (ausschnitt):
    Code:
    Private Sub DownloadFTPFile(ByVal User As String, ByVal Passwort As String, ByVal RemoteFile As String, ByVal LocalFile As String, ByVal Exist As Boolean)
     Dim adress = New Uri(RemoteFile) 'URL Wandeln
     client.Credentials = New NetworkCredential(User, Passwort) 'Auth
     If File.Exists(LocalFile) Then
     If Exist = True Then
     Kill(LocalFile) 'Fals vorhanden, löschen
     client.DownloadFileAsync(adress, LocalFile) 'File Holen
     Else
     MsgBox("File bereits vorhanden. Download wird abgebrochen!")
     End If
     Else
     client.DownloadFileAsync(adress, LocalFile) 'File Holen
     End If
     End Sub
     Private Sub ProgessChanged(ByVal sender As Object, _
     ByVal e As DownloadProgressChangedEventArgs) _
     Handles client.DownloadProgressChanged
     ProgressBar.Value = e.ProgressPercentage 'progress Bar
     Label1.Text = e.ProgressPercentage + "%"
     End Sub
     

  2. Anzeige
    Heute: Deals & Sale mit stark reduzierten Angeboten finden.
  3. #2 4. März 2008
    AW: VB 2005 DownloadFileAsync Status bei FTP

    Ich push das mal, in der Hoffnung, das jemand ne idee hat. Wenn jemand ne möglichkeit kennt, files von FTP zu laden mit Prozentanzeige währ das natürlich auch super!
     
  4. #3 4. März 2008
    AW: VB 2005 DownloadFileAsync Status bei FTP

    kannst du nicht abfragen wie viel schon übertragen wurde? oder du schaust nach wie viel von der datei schon auf der festplatte ist? oder du lässt z.b immer 1mb in einen buffer laden und schreibst die dan auf die festplatte so hast du eine übersicht was schon geladen wurde

    wie du dan auf die % kommst sollste bekannt sein
     
  5. #4 4. März 2008
    AW: VB 2005 DownloadFileAsync Status bei FTP

    Das macht die der Event handler ja normalerweise. Das problem ist, dass beim FTP transfer die Dateigröße nicht abgefragt wird (TotalBytestoRecieve = -1). Somit kann ich, wenn die Größer nicht extern irgendwie eingespielt wird, keine Prozent berechnen, da die Größe unbekannt ist.
     
  6. #5 5. März 2008
    AW: VB 2005 Status bei FTP Download?

    hi,

    vielleicht hilft dir das: MSDN-Seite
    Hatte grade keine Lust das ganz zu lesen müsste aber genau zu deinem Problem passen.

    mfg Nash
     
  7. #6 5. März 2008
    AW: VB 2005 Status bei FTP Download?

    Um genau zu sein, diese Passage:

     
  8. #7 10. März 2008
    AW: VB 2005 Status bei FTP Download?

    So ich hab mich heute an meinem freien Tag mal hingesetzt und das mal ausprobiert. Jedoch bekomme ich immernoch keinen status angezeigt. Ich hab ne neue Klasse erstellt und das reingeschrieben:
    Code:
    Imports System.net
    Public Class WebClient
     Inherits System.Net.WebClient
    
     Dim req As FtpWebRequest
    
     Protected Overloads Overrides Function GetWebRequest(ByVal address As Uri) As WebRequest
     req = CType(MyBase.GetWebRequest(address), FtpWebRequest)
     req.UsePassive = False
     Return req
     End Function
    End Class
    irgendwas mach ich falsch?
     
  9. #8 17. März 2008
    AW: VB 2005 Status bei FTP Download?

    Keiner ne Ahnung was ich falsch mach?
     
  10. #9 19. März 2008
    AW: VB 2005 Status bei FTP Download?

    mfg Nash

    Edit: Ups bin grad wohl nen bissel verrafft gewesen. Werde es bei Gelegenheitmal selber testen.
     
  11. #10 19. März 2008
    AW: VB 2005 Status bei FTP Download?

    Danke Nash für diesen Beitrag -.-. Was glaubst du was diese klasse macht:
    Code:
    Imports System.net
    Public Class WebClient
     Inherits System.Net.WebClient
    
     Dim req As FtpWebRequest
    
     Protected Overloads Overrides Function GetWebRequest(ByVal address As Uri) As WebRequest
     req = CType(MyBase.GetWebRequest(address), FtpWebRequest)
     req.UsePassive = False
     Return req
     End Function
    End Class
    Sie baut eine AKTIVE verbindung auf. Ich bekomme trotzdem keinen Status!
     

  12. Videos zum Thema
Die Seite wird geladen...