kostenloser Webspace werbefrei: lima-city


Upload einer Datei über C# Progrann

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    d****s

    Nabend!

    Ich würde gerne über meine Programm Dateien hochladen können. Der Download funktioniert bereits. Jedoch habe ich mit dem Upload gewisse Probleme:

    private void button1_Click(object sender, EventArgs e)
            {
                //Eine neue Datei erstellen und lokal speichern (Beispiel hier: Textfile)
                StreamWriter w = new StreamWriter("C://Beispiele/MyFile.txt", true);
                w.WriteLine("BlaBlaBla");
                w.Close();
    
                //Ein Request erstellen an den ftp Server
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://dultus@dultus.lima-ftp.de:21");
    
                //Die Methode angeben um eine Datei hochzuladen
                request.Method = WebRequestMethods.Ftp.UploadFile;
    
                //Berechtigungsdetails setzen vom ftp Server durch Username und Passwort
                request.Credentials = new NetworkCredential("NAME", "PASSWORT");
    
                try
                {
                    //Versuch eine Verbindung zu erstellen und eine Antwort zu erhalten
                    WebResponse response = request.GetResponse();
                    MessageBox.Show("Response hat funktioniert");
                }
                catch (Exception exp)
                {
                    throw exp;
                }
    
    
                //Neuer FileStream erstellen für die Datei
                FileStream fs = new FileStream("C://Beispiele/MyFile.txt", FileMode.Open);
                byte[] fileContents = new byte[fs.Length];
                fs.Read(fileContents, 0, Convert.ToInt32(fs.Length));
                fs.Flush();
                fs.Close();
    
                //Ein neuen Stream für den Request erstellen dem der FileStream mitgegeben wird.
                Stream requestStream = request.GetRequestStream();
                requestStream.Write(fileContents, 0, fileContents.Length);
                requestStream.Close();
    
                //Verbindung abbschliessen
                request.Abort();
            }


    funktionieren tut's noch nicht.
    (Exception: Zusätzliche Informationen: Der angeforderte URI ist für diesen FTP-Befehl ungültig. ")

    Daher frag ich mich auch, ob "FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://dultus@dultus.lima-ftp.de:21");" richtig ist.

    Wenn mich jemand auf den Fehler hinweisen könnte, würde ich mich sehr freuen!

    Einen schönen guten Abend noch soweit und danke!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ohne das jetzt testen zu können:
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri("ftp://dultus.lima-ftp.de"));


    Das ":21" am Ende ist der Standard-Port, den sollte man eigentlich weg lassen können. Das "dultus@" ist die Benutzerkennung, welche du ja über die NetworkCredentials setzt.

    Wäre es denn aber nicht allgemein einfacher, wie hier beschrieben, via WebClient? Oder gibt es einen besonderen Grund, darauf zu verzichten?
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!