Rapidshare Upload Stream

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von trommelwirbel.

    Rapidshare Upload Stream

    Hi,
    ich hab ein kleines Problem mit RS. Und zwar ich versuch eine Datei hochzuladen ohne sie komplett in den Arbeitsspeicher zu laden.
    Die Datei wird auch ohne Fehlermeldungen hochgeladen. Das Problem ist nur das der Datei am ende immer zwei Zeichen fehlen.

    d.h. ich lade eine txt Datei hoch mit dem Inhalt "123456789" kommen bei RS "1234567" an. ;)

    VB.NET-Quellcode

    1. Dim _file As FileSystemInfo = New FileInfo(tmpAccUDT.filepath)
    2. Dim DateTime2 As Date = DateTime.Now
    3. Dim l2 As Long = DateTime2.Ticks
    4. Dim s1 As String = "----------" + l2.ToString("x")
    5. Dim httpWebRequest As System.Net.HttpWebRequest = GetWebrequest(s1)
    6. Dim fileStream As System.IO.FileStream = New FileStream(_file.FullName, FileMode.Open, FileAccess.Read, FileShare.Read)
    7. 'Set Headers for Uploading
    8. Dim bArr1 As Byte() = System.Text.Encoding.ASCII.GetBytes("--" + s1 + Environment.NewLine)
    9. Dim s2 As String = GetRequestMessage(s1, _file.Name, tmpAccUDT.account, tmpAccUDT.password, tmpAccUDT.type).ToString
    10. Dim bArr2 As Byte() = System.Text.Encoding.UTF8.GetBytes(s2)
    11. 'Send to RS
    12. httpWebRequest.ContentLength = bArr1.Length + bArr2.Length + FileLen(tmpAccUDT.filepath)
    13. Dim clsStream As System.IO.Stream = httpWebRequest.GetRequestStream
    14. clsstream.Write(bArr1, 0, bArr1.Length)
    15. clsstream.Write(bArr2, 0, bArr2.Length)
    16. Dim length As Integer = 1024
    17. Dim buffer(length) As Byte
    18. Dim bytesread As Integer = fileStream.Read(buffer, 0, length)
    19. While bytesread > 0
    20. clsStream.Write(buffer, 0, bytesread)
    21. bytesread = fileStream.Read(buffer, 0, length)
    22. End While
    23. fileStream.Close()
    24. clsStream.Close()
    25. clsStream.Dispose()
    26. Dim tm As String = ""
    27. Dim stream As Stream = httpWebRequest.GetResponse().GetResponseStream()
    28. Dim streamreader As StreamReader = New StreamReader(stream)
    29. 'Get Response from Rapidshare and Return the Links.
    30. Dim lines As New ArrayList
    31. Dim TextLine As String
    32. Do While streamreader.Peek() <> -1
    33. TextLine = streamreader.ReadLine()
    34. lines.Add(TextLine)
    35. Loop
    36. streamreader.Close()


    Wahrscheinlich übersehe ich etwas, aber ich bin echt ratlos...