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.
Wahrscheinlich übersehe ich etwas, aber ich bin echt ratlos...
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
- Dim _file As FileSystemInfo = New FileInfo(tmpAccUDT.filepath)
- Dim DateTime2 As Date = DateTime.Now
- Dim l2 As Long = DateTime2.Ticks
- Dim s1 As String = "----------" + l2.ToString("x")
- Dim httpWebRequest As System.Net.HttpWebRequest = GetWebrequest(s1)
- Dim fileStream As System.IO.FileStream = New FileStream(_file.FullName, FileMode.Open, FileAccess.Read, FileShare.Read)
- 'Set Headers for Uploading
- Dim bArr1 As Byte() = System.Text.Encoding.ASCII.GetBytes("--" + s1 + Environment.NewLine)
- Dim s2 As String = GetRequestMessage(s1, _file.Name, tmpAccUDT.account, tmpAccUDT.password, tmpAccUDT.type).ToString
- Dim bArr2 As Byte() = System.Text.Encoding.UTF8.GetBytes(s2)
- 'Send to RS
- httpWebRequest.ContentLength = bArr1.Length + bArr2.Length + FileLen(tmpAccUDT.filepath)
- Dim clsStream As System.IO.Stream = httpWebRequest.GetRequestStream
- clsstream.Write(bArr1, 0, bArr1.Length)
- clsstream.Write(bArr2, 0, bArr2.Length)
- Dim length As Integer = 1024
- Dim buffer(length) As Byte
- Dim bytesread As Integer = fileStream.Read(buffer, 0, length)
- While bytesread > 0
- clsStream.Write(buffer, 0, bytesread)
- bytesread = fileStream.Read(buffer, 0, length)
- End While
- fileStream.Close()
- clsStream.Close()
- clsStream.Dispose()
- Dim tm As String = ""
- Dim stream As Stream = httpWebRequest.GetResponse().GetResponseStream()
- Dim streamreader As StreamReader = New StreamReader(stream)
- 'Get Response from Rapidshare and Return the Links.
- Dim lines As New ArrayList
- Dim TextLine As String
- Do While streamreader.Peek() <> -1
- TextLine = streamreader.ReadLine()
- lines.Add(TextLine)
- Loop
- streamreader.Close()
Wahrscheinlich übersehe ich etwas, aber ich bin echt ratlos...