Autor Beitrag
Raorkon
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 86
Erhaltene Danke: 1



BeitragVerfasst: Mo 11.04.11 11:02 
Hallo zusammen,

irgendwie steh ich vor einer Wand und finde keinen Weg daran vorbei:

ich habe ein Win CE Gerät mit dem ich prüfen will ob eine Cab-File auf dem Server vorhanden ist.

Soweit funktioniert das auch alles.

Nun will ich diese CAB-File downloaden aber über den herkömmlichen Weg (Stream) bekomme ich nur eine 100Byte Datei.
Ich weiß nicht was ich falsch mache, wäre super wenn ihr mir einen Typ geben könnt:

ausblenden volle Höhe C#-Quelltext
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:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
        private void checkForUpdates()
        {
            webservice ws = new webservice();
           
            string _path = ws.checkforMobileUpdates();
            
            
            if (_path.Length > 0)
            {
               
                System.Uri uri = new Uri(_path);

                FtpRequestCreator creator = new FtpRequestCreator();
                WebRequest.RegisterPrefix("ftp:", creator);                

                FtpWebRequest req = (FtpWebRequest)WebRequest.Create(uri);

                req.Credentials = new NetworkCredential("HWSG_SAPFTP""blubtest");
                
                Stream ftpRequestStream = req.GetRequestStream();
                
                saveFile(ftpRequestStream, "\\Application\\text.cab", FileMode.Create);
            }
        }

        private static void saveFile(Stream inputStream, string outputFile, FileMode fileMode)
        {
            

            FileStream outputstream = new FileStream(outputFile, FileMode.Create);
            int bufferSize = 52048;
            int readCount;
            byte[] buffer = new byte[bufferSize];

            readCount = inputStream.Read(buffer, 0, bufferSize);
            while (readCount > 0)
            {
                //speichern der Daten in der neu erstellen lokalen datei 

                outputstream.Write(buffer, 0, readCount);
                readCount = outputstream.Read(buffer, 0, bufferSize);
            }  
        }
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 11.04.11 11:12 
user profile iconRaorkon hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden C#-Quelltext
1:
2:
3:
                Stream ftpRequestStream = req.GetRequestStream();
                
                saveFile(ftpRequestStream, "\\Application\\text.cab", FileMode.Create);
Schau einmal ins Wörterbuch was Request heißt... :roll:
Und in der Doku steht es sogar auf deutsch was GetRequestStream macht...
msdn.microsoft.com/d...etrequeststream.aspx

Du willst ja wohl eher die Antwort auslesen und das heißt auf Englisch Response...
Raorkon Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 86
Erhaltene Danke: 1



BeitragVerfasst: Mo 11.04.11 20:00 
oh man manchmal hat man echt Tomaten auf den Augen. Ich hatte die beiden Methoden aus einer bestehenden Klasse kopiert und nicht richtig geschaut. Danke dir