Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

[VB.NET] C# naar VB gaat niet goed

Pagina: 1
Acties:

Acties:
  • 0Henk 'm!

  • Damic
  • Registratie: september 2003
  • Laatst online: 06:59

Damic

Afwezig soms

Topicstarter
Het volgende stukje leest bestanden in en zet ze bij in de http header als bytes, nu de header word aangemaakt maar geen data. Als ik een breakpoint instel en dan step by step doen dan zien ik hem over de while springen, terwijl er wel data in de filestream zit. Wat gaat er verkeerd, iemand een idee?
Wat ik al geprobeerd heb: euhm niet veel want snap niet wat er mis gaat.

Van (originele code: http://bytes.com/topic/c-...ow-upload-file-via-c-code )
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
string headerTemplate = "Content-Disposition: form-data; name=\"{0}\";
filename=\"{1}\"\r\n Content-Type: application/octet-stream\r\n\r\n";

for(int i=0;i<files.Length;i++)
{

string header = string.Format(headerTemplate,"file"+i,files[i]);

byte[] headerbytes = System.Text.Encoding.UTF8.GetBytes(header);

memStream.Write(headerbytes,0,headerbytes.Length);
length += headerbytes.Length;

FileStream fileStream = new FileStream(files[i], FileMode.Open,
FileAccess.Read);
byte[] buffer = new byte[1024];

int bytesRead = 0;

while ( (bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0 )
{
memStream.Write(buffer, 0, bytesRead);
length += bytesRead;
}
memStream.Write(boundarybytes,0,boundarybytes.Leng th);
length += boundarybytes.Length;

fileStream.Close();
}

* length gebruikt ie niet in de volledige code dat ie heeft gepost dus volgens mij mag je dat negeren.

naar
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
                      If File.Exists(sFiles) Then
                            Dim headerTemplate As String = "Content-Disposition: form-data; name=""{0}""; filename=""{1}""" & Environment.NewLine & "Content-Type: application/octet-stream" & Environment.NewLine & Environment.NewLine
                            ' For i = 0 To  sFiles.Length
                            Dim headerbytes As Byte() = encoding.GetBytes(String.Format(headerTemplate, "upfile", sFiles))
                            memStream.Write(headerbytes, 0, headerbytes.Length)
                            Using fileStream As FileStream = New FileStream(sFiles, FileMode.Open, FileAccess.Read)
                                Dim buffer(1024) As Byte
                                Dim bytesRead As Int64 = 0
                                While ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) <> 0)
                                    memStream.Write(buffer, 0, bytesRead)
                                End While
                            End Using
                            'if i<> sfiles.length then memStream.Write(boundarybytes, 0, boundarybytes.Length)
                        End If
*ik gebruik de file array nog niet, iets met in de hoofding dat je altijd iets moet ingevuld hebben, eens uitzoeken als ik tijd heb :*)

[Voor 4% gewijzigd door Damic op 04-05-2015 21:59]

Ik kan vanalles en nog wat maar niets te goei, klinkt bekent?? Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0Henk 'm!

  • nescafe
  • Registratie: januari 2001
  • Laatst online: 23:25
VB.NET ondersteunt geen multi-assignments.

Je zou de volgende code:

Visual Basic .NET:
1
2
3
While ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) <> 0)
    memStream.Write(buffer, 0, bytesRead)
End While


om kunnen schrijven naar iets als:

Visual Basic .NET:
1
2
3
4
5
bytesRead = fileStream.Read(buffer, 0, buffer.Length)
While bytesRead <> 0
    memStream.Write(buffer, 0, bytesRead)
    bytesRead = fileStream.Read(buffer, 0, buffer.Length)
End While

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


Acties:
  • 0Henk 'm!

  • Damic
  • Registratie: september 2003
  • Laatst online: 06:59

Damic

Afwezig soms

Topicstarter
Ha, dat verklaart veel :(

Dank je

[Voor 168% gewijzigd door Damic op 05-05-2015 07:06]

Ik kan vanalles en nog wat maar niets te goei, klinkt bekent?? Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag



Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 4a CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True