Multi/Image Uploader

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von Nicolas.

    Multi/Image Uploader

    Hallo zusammen,

    Ich habe mir eine kleine Flash Slideshow zusammen gebastelt und alle Bilder die ich im FTP in den ordner image hochlade werden im Script nacheinander angezeigt,jetzt meine Frage ist es möglich ein Programm zu bauen in VB womit ich mehrer Bilder aufeinmal in den Ordner image hochladen akann und das Überprüft wird ob es eine jpg. Datei ist? wenn ja wie kann ich das realisieren?

    MFG Nicolas
    Ich habe mir jetzt mal eine Code aus dem Fprum besorgt und zwaar auf meinem Webspace ist eine php Datei worauf das Programm draufzugreift das klappt auch alles auch das Uploaden aber leider immernoch nicht das,das ich mehrer Datein aufeinmal hochladen kann.


    VB.NET-Quellcode

    1. Imports System.Net
    2. Public Class Form1
    3. Private WithEvents wc As New WebClient
    4. Dim stopuhr As New Stopwatch
    5. Dim temp As Integer = 0
    6. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    7. If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    8. TextBox1.Text = OpenFileDialog1.FileName
    9. End If
    10. End Sub
    11. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    12. Button1.Enabled = False
    13. Try
    14. wc.Encoding = System.Text.Encoding.Default
    15. wc.Headers.Add("Content-Type", "binary/octet-stream")
    16. Dim uri As New Uri("MEINE URL" & TextBox2.Text)
    17. wc.UploadFileAsync(uri, "POST", TextBox1.Text)
    18. Catch ex As Exception
    19. MessageBox.Show(ex.Message)
    20. Button1.Enabled = True
    21. End Try
    22. End Sub
    23. Private Sub wc_UploadProgressChanged(ByVal sender As Object, ByVal e As System.Net.UploadProgressChangedEventArgs) Handles wc.UploadProgressChanged
    24. stopuhr.Stop()
    25. Label3.Text = Math.Round((e.BytesSent - temp) / 1024 / (stopuhr.ElapsedMilliseconds / 1000)) & " KB/s"
    26. Label4.Text = Math.Round(e.TotalBytesToSend \ 1024) & " KB / " & Math.Round(e.BytesSent \ 1024) & " KB"
    27. If Not stopuhr.IsRunning Then
    28. If e.ProgressPercentage > 0 Then
    29. If Not ProgressBar1.Value = 100 Then
    30. ProgressBar1.Value = e.ProgressPercentage * 2
    31. Label5.Text = e.ProgressPercentage * 2 & "%"
    32. Else
    33. MessageBox.Show("Datei wurde erfolgreich hochgeladen")
    34. ProgressBar1.Value = 0
    35. Label3.Text = Nothing
    36. Label4.Text = Nothing
    37. Label5.Text = Nothing
    38. Button1.Enabled = True
    39. End If
    40. Else
    41. End If
    42. End If
    43. temp = e.BytesSent
    44. stopuhr.Restart()
    45. End Sub
    46. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    47. End Sub
    48. Private Sub Label6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label6.Click
    49. End Sub
    50. End Class



    MFG Nicolas
    Ich habe das so gemacht:
    Lokale Dateien in Listbox anzeigen lassen
    Dann jede Zeile hochladen.
    ftpserver =ftp://www.server.de/ordner
    uppathall = lokaler Pfad mit folderbrowser aneigen lassen




    VB.NET-Quellcode

    1. For Each Zeile As String In ListBox.Items
    2. My.Computer.Network.UploadFile(uppathall & "\" & Zeile,
    3. ftpserver & Zeile, Benutzername, passwort)
    4. lblausgabe.Text = "Alle Dateien erfolgreich hochgeladen!"
    5. Next



    Dateien in Listbox anzeigen:

    VB.NET-Quellcode

    1. ' Dateien vom FTPServer in Listbox anzeigen.
    2. Dim request As Net.FtpWebRequest = Net.FtpWebRequest.Create(ftpserver)
    3. request.Method = Net.WebRequestMethods.Ftp.ListDirectory
    4. request.Credentials = New Net.NetworkCredential(Benutzername, passwort)
    5. Dim response As Net.FtpWebResponse = request.GetResponse()
    6. Using myReader As New IO.StreamReader(response.GetResponseStream())
    7. Do While myReader.EndOfStream = False
    8. ListBox.Items.Add(myReader.ReadLine())
    9. Loop
    10. End Using

    slim schrieb:

    Tsuyo schrieb:

    Nicolas schrieb:

    @ ErfinderDesRades mehrere WebClienten?


    MFG Nicolas


    Genau. Das was slim macht; lassen. Halt dich von 'My' fern.

    Geht aber...

    Warum kopierst du den ganzen vorigen Post? der steht doch direkt darüber.

    Dasses geht ist schomal echt ein Pluspunkt. nur müsstestes jetzt basteln, dass mehrere gleichzeitig uppen.

    VB.NET-Quellcode

    1. Public Class Form1
    2. 'dimensionierung
    3. Dim ftpserver As String
    4. Dim passwort As String
    5. Dim Benutzername As String
    6. Private Sub button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdupall.Click
    7. ftpserver = txtserver.Text
    8. passwort = txtpasswort.Text
    9. Benutzername = txtbenutzer.Text
    10. For Each Zeile As String In ListBox2.Items
    11. My.Computer.Network.UploadFile(uppathall & "\" & Zeile,
    12. ftpserver & Zeile, Benutzername, passwort)
    13. lblausgabe.Text = "Alle Dateien erfolgreich hochgeladen!"
    14. Next
    15. End Sub
    16. Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdshowups.Click
    17. Dim dir As New DirectoryInfo(uppathall)
    18. For Each file As FileInfo In dir.GetFiles
    19. Me.ListBox2.Items.Add(file.Name)
    20. Next
    21. End Sub
    22. End Class



    Huch hatte den falschen Code gepostet :D
    Hier der richtige

    Damit läd er alle Dateien hoch die in dem Ordner sind, den man mit derm FolderBrowser auswählt.....
    Der Nachteil ist, dass man sich die Dateien erst in der Listbox anzeigen lassen muss,
    aber ist ja eigentlich auch ganz in Ordnung weil man dann wenigstens weiß was man hochläd.

    gruß!
    Also erstmal vielen Herzlichen Danke aber ich bekomme leider ein paar Fehler:

    VB.NET-Quellcode

    1. Dim dir As New DirectoryInfo(uppathall)
    2. For Each file As FileInfo In dir.GetFiles


    VB.NET-Quellcode

    1. For Each Zeile As String In ListBox2.Items
    2. My.Computer.Network.UploadFile(uppathall & "\" & Zeile,
    3. ftpserver & Zeile, Benutzername, passwort)
    4. lblausgabe.Text = "Alle Dateien erfolgreich hochgeladen!"



    VB.NET-Quellcode

    1. cmdshowups.Click




    Einmal bei: uppathall
    lblausgabe

    cmdshowups.Click
    DirectoryInfo

    For Each file As FileInfo In dir.GetFiles




    Fehler 1 Die Handles-Klausel erfordert eine WithEvents-Variable, die im enthaltenden Typ oder einem seiner Basistypen definiert wird. C:\Users\User\AppData\Local\Temporary Projects\Uploader\Form1.vb 9 98 Uploader




    Fehler 2 "uppathall" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden. C:\Users\User\AppData\Local\Temporary Projects\Uploader\Form1.vb 17 44 Uploader



    Fehler 2 "uppathall" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden. C:\Users\User\AppData\Local\Temporary Projects\Uploader\Form1.vb 17 44 Uploader



    Fehler 4 Die Handles-Klausel erfordert eine WithEvents-Variable, die im enthaltenden Typ oder einem seiner Basistypen definiert wird. C:\Users\User\AppData\Local\Temporary Projects\Uploader\Form1.vb 23 99 Uploader



    Fehler 5 Der Typ "DirectoryInfo" ist nicht definiert. C:\Users\User\AppData\Local\Temporary Projects\Uploader\Form1.vb 25 24 Uploader


    Fehler 6 Der Typ "FileInfo" ist nicht definiert. C:\Users\User\AppData\Local\Temporary Projects\Uploader\Form1.vb 26 26 Uploader



    MFG Nicolas
    Es steht doch alles in den Fehlermeldungen was zu tun ist :(

    Hast dir schon mal überlegt die Grundlagen zu lernen? Oder bist du einfach zu faul und möchtest nur C&P Source Code?
    Verstehst du überhaupt was slim in seinem Source macht?