download code fehler

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Robin (Black-Knight).

    download code fehler

    hallo,
    es tut mir leid das ich euch erneut belästigen mus aber daich nun ernsthaft hart an mienem updater(bzw laucher) arbeite mus ich ihn zum funktionieren bringen. das er in dem temp folder die ordner anlegt geht ich um erstmal das download programm zu testen baute ich mir ein program, welches 2 textboxen hat und einen button in die 1 tb kommt die url in die 2 der speicherort code:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. If Not TextBox1.Text = "" Then
    3. If Not TextBox2.Text = "" Then
    4. Dim url = TextBox1.Text
    5. Dim ziel = TextBox2.Text
    6. My.Computer.Network.DownloadFile(url, ziel)
    7. End If
    8. End If

    doch jedes mal kommt ein fehler: (In destinationFileName muss ein Dateiname enthalten sein.)

    bitte helft mir ich brauhce es halt so das er es in einen angegebenen ordner downlaoded damit ich es in den temp ordner laden alssen kann
    4 Dinge:

    1. Schreibe den Code ein Bisschen um, damit er übersichtlicher ist:

    VB.NET-Quellcode

    1. Private Sub DownloadFile() Handles Button1.Click
    2. If Not String.IsNullOrWhiteSpace(TextBox1.Text) AndAlso Not String.IsNullOrWhiteSpace(TextBox2.Text) Then
    3. My.Computer.Network.DownloadFile(TextBox1.Text, TextBox2.Text)
    4. End If
    5. End Sub


    2. Benenne Controls sinnvoll. Im Idealfall erkennt man am Namen des Controls wofür es zuständig ist.

    3. Nach Möglichkeit das My-Namespace vermeiden (Siehe System.Net.WebClient)

    4. Du musst in TextBox2 einen gültigen Dateinamen eingeben. Wie z.B. "C:\Users\Administrator\Desktop\Foo.txt"


    Edit: Ich muss schneller schreiben.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Äh wie? Kompletten Ordner downloaden? Erstell ne Textdatei mit einer Dateiliste drin, fertig. Und dann Stück für Stück runterladen. Wobei der Krempel in einem Archiv besser aufgehoben wäre, als jede Datei einzeln runterzuladen.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Du kannst einen kompletten Ordner eines Webservers nur herunterladen, wenn
    a) der Webserver die Dateien auflistet oder
    b) du die Dateinamen kennst.
    Falls Ersteres der Fall ist, kannst du die Dateiauflistung herunterladen, mit RegEx auswerten und dann die Dateien herunterladen.
    Bei Letzterem speicherst du die URLs am besten in einem Array, welches du dann mit einer Schleife durchläufst und alle Dateien herunterlädst.
    Kleines Beispiel dafür:

    VB.NET-Quellcode

    1. Dim Filenames() As String = { "datei1", "datei2", "datei3" } ' Liste mit Dateinamen definieren
    2. Dim RemotePath As String = "http://example.org/verzeichnis/" ' Das Verzeichnis am Webserver, in dem sich diese Dateien befinden
    3. Dim LocalPath As String = "C:\Verzeichnis\" ' Das Verzeichnis, in das sie am lokalen Rechner gespeichert werden sollen
    4. Dim Client As New System.Net.WebClient()
    5. For Each Filename As String In Filenames
    6. Client.DownloadFile(New Uri(RemotePath & Filename), System.IO.Path.Combine(LocalPath, Filename))
    7. Next

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „haiyyu“ ()

    a) ist ein kleines problem den der webserver tut es nciht der gibt mir einen 403 es ging ja darum ich mus nur die datein neu hochladen, und die versions nummer endern und alles andere funktioniert noch kein zeit aufwand,zumal ich mir ehh ncoh ein programm zum uploaden amchen will


    edit1:nein ich mache ein programm, welches updates für verschiedene programme von mir installiert aber auch das programm installt wenn es nicht drauf ist eine art download manager. und es gibt den ordner in dem alle programme sind (mienewebseite.de/downloads) dort ist launcher und alle anderen programme drinnen der launcher so nene ich das programm was ich gerade erstelle also den download manager und es were gut wenn er eben einen ganzen ordner downloaden könnte und nicht nur datein da ich was du mientest innerhalb von sekunden ein neues update hinzufügen kann nur uploaden der exe und pdb und fertitg .ich habe eigentlcih 3 webhsots bei 3 verschiedenen 2 haben unendlcihen speicher auf ienem ist meine homepage .der eine meint beim ftp immer wenn ich was hochladen will 550 access denied und der 2 immer 403 beim versuch ein verzeichnis anzeigen zu lassen der dritte tut es auf jedenfall nur der hat begrenzten platz da sollen die downloads nciht drauf. ich weis nicht ob ich die provide hier nennen darf deswegen lass ich es mal per pn würde ich es auhc sagen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Robin (Black-Knight)“ ()

    @haiyyu: Keine Ahnung wie du da überhaupt was draus lesen konntest... -.- Würde da "ändern" anstatt "endern" stehen, dann käme man vllt noch auf die Idee, der Google-Übersetzer hätte seine Finger im Spiel, aber der macht keine Rechtschreibfehler...
    @Robin (...): Ich würde vorschlagen, dass du den Beitrag entweder nochmal editierst, und mal mit Satzzeichen arbeitest, oder Einfach mal nur das schreibst, was du wissen willst, der mist drum rum interessiert keinen (mich zumindest nicht)
    Ich hab den Beitrag von Robin mal editiert und ihm Satzzeichen hinzugefügt (unter anderem auch Groß und Kleinschreibung)


    Edit 1:

    Nein ich mache ein Programm welches Updates für verschiedene Programme von mir installiert, aber auch das Programm installiert
    wenn es nicht auf dem Computer installiert ist. Eine Art Download Manager halt.


    Der Ordner indem alle Programme sind heißt "mienewebseite.de/downloads".Dort ist unteranderem der Launcher drinnen.
    Der Launcher so nenne ich das Programm welches Ich gerade erstelle (den Download Manager).Deshalb währe es gut,
    das ein ganzer (!) Ordner gedownloadet werden kann.
    Dann kann ich nämlich innerhalb von Sekunden ein neues Update hinzufügen und brauche nur die .exe zu uploaden und pdb (?).
    Ich habe 3 x Webspace bei 3 verschiedenen Hostern und habe auf einem unendlich Speicher (auf dem ist auch meine Homepage).
    Der eine meint beim ftp immer wenn ich was hochladen will 550 access denied und der 2. gibt immer eine 403 Fehlermeldung beim Versuch
    ein Verzeichnis anzeigen zu lassen.Der 3. tut es auf jedenfall nur der hat begrenzten Platz da sollen die Downloads nicht drauf.
    ch weiss nicht ob ich die Provider hier nennen darf deswegen lass ich es mal.



    PS: Frag deinen Deutschlehrer mal warum er keine Lust hatte dich zu unterrichten.

    mfG INK-Software

    PSPS: Ich konnte nicht alles entziffern :)
    Versuch es erstmal mit einem .Net.Webclinet dann solltest du diesen Ordner verzippen und uploaden. Wenn das auch nicht geht, musst du halt jede Datei einzeln downloaden.
    Wozu schreibt man ab, obwohl man es doch kann? :)

    ::Forum für Entwickler hier::
    hallo ich hätte noch eine idee , welche von der letzten antwort ableitet. das programm downloaded eine zip entpackt sie in den temp ordner, löscht die zip dann und dann kopiert er den ordner launcher in den anderen ordner so müsste es doch funktionieren oder?
    habe esfalsch verstanden ich dachte man müsse zuvor eine zip erstellen doch man mus einfach nur sagen wo er hin msu es funktioniert jetzt danke an euch alle

    nochmal der code für die, welche nicht wissen welcher bzw nwie ich es missverstanden haben

    VB.NET-Quellcode

    1. Dim downloader As New System.Net.WebClient
    2. downloader.DownloadFile(TextBox1.Text, TextBox2.Text)
    so in textbox 1: meineseite.de/launcher.zip textbox2: c:\meinpfad\launcher.zip


    mfg robin (black-knight)