[C# Windows Mobile] Wysłanie pliku na ftp


(LonngerM) #1

Witam,

Piszę pewien programik na telefon z systemem Windows Mobile w Visual Studio 2008 w języku C#. Program ten wyniki swojej pracy zapisuje do pliku tekstowego. Plik ten chcę wysłać na serwer ftp. Niestety nie wiem jak się za to zabrać. Na zajęciach miałem podany przykład, ale niestety prowadzący wykłada bardzo chaotycznie - tzn. daje nam plik z kodem w txt, a wy se róbcie sami.

W przedstawionym przykładzie przez prowadzącego wykorzystujemy biblioteki "OpenNETCF"

Kod do połączenia z FTP i wysłanie pliku:

//Łączenie z ftp

            FtpRequestCreator creator = new FtpRequestCreator();

            WebRequest.RegisterPrefix("ftp:", creator);

            Uri testUri;

            testUri = new Uri("ftp://155.155.155.155/katalog");

            try

            {

                request = (FtpWebRequest)WebRequest.Create(testUri);

                request.Credentials = new NetworkCredential("user", "password");

                ftpRequestStream = request.GetRequestStream(); /*/

                StreamReader reader = new StreamReader(ftpRequestStream);

//Wysyłanie pliku


                StreamReader reader;

                String commandReply;

                FileStream fs = new FileStream(nazwa, FileMode.Open);

                BinaryReader r = new BinaryReader(fs);

                Stream ftpResponseStream = request.GetResponse().GetResponseStream();

                BinaryWriter response = new BinaryWriter(ftpResponseStream);

                StreamWriter writer = new StreamWriter(ftpRequestStream);

                writer.Write("TYPE I\r\n");

                writer.Flush();

                reader = new StreamReader(ftpRequestStream);

                commandReply = reader.ReadToEnd();

                String cmd = "stor " + ftp_nazwa + "\r\n";

                writer.Write(cmd);

                writer.Flush(); 

                commandReply = reader.ReadToEnd();

Mimo podania prawidłowych danych w miejscu zaznaczonym gwiazdką(/*/) przy łączeniu z ftp wywala błąd - nie może się zalogować.

Proszę o poradę, bądź o inny sposób wysłania pliku na serwer FTP.

Pozdrawiam.