Entwickler-Ecke

ASP.NET und Web - CAB-File per FTP downloaden


Raorkon - Mo 11.04.11 11:02
Titel: CAB-File per FTP downloaden
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:


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 - Mo 11.04.11 11:12

user profile iconRaorkon hat folgendes geschrieben Zum zitierten Posting springen:

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...
http://msdn.microsoft.com/de-de/library/system.net.webrequest.getrequeststream.aspx

Du willst ja wohl eher die Antwort auslesen und das heißt auf Englisch Response...


Raorkon - 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