2010-12-14 14 views
13

Ich versuche, die Datei in ein Verzeichnis auf einem FTP-Server hochzuladen. Ich habe diese Methode mit FtpWebRequest verwendet. Ich mag eine Datei in ein Home-Verzeichnis für diese Benutzer hochladen, aber ich bekomme immer folgende Fehlermeldung:"Angeforderter URI ist ungültig" beim Hochladen mit FTPWebRequest

Die angeforderte URL für diesen FTP-Befehl ungültig ist.

Was kann ein Problem sein? Ich habe versucht, den passiven Modus auszuschalten, aber es ist immer noch dasselbe.

static void FtpUpload() 
{ 


    // Get the object used to communicate with the server. 
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://12.22.44.45"); 
    request.Method = WebRequestMethods.Ftp.UploadFile; 
    request.UsePassive = false; 

    // This example assumes the FTP site uses anonymous logon. 
    request.Credentials = new NetworkCredential("pokus", "password"); 

    // Copy the contents of the file to the request stream. 
    StreamReader sourceStream = new StreamReader(path); 
    byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd()); 
    sourceStream.Close(); 
    request.ContentLength = fileContents.Length; 

    Stream requestStream = request.GetRequestStream(); 
    requestStream.Write(fileContents, 0, fileContents.Length); 
    requestStream.Close(); 

    FtpWebResponse response = (FtpWebResponse)request.GetResponse(); 

    Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription); 

    response.Close(); 

} 
+0

Der Fehler schlägt vor, dass es keinen FTP-Server gibt, der auf 12.22.44.45 sitzt und bereit ist, die Anmeldeinformationen von Pokus und Passwort zu akzeptieren (was auch immer die echten Informationen sind). Haben Sie versucht, mit diesen Einstellungen/Anmeldeinformationen außerhalb des Codes auf diesen Server zuzugreifen? –

+0

Können Sie uns sagen, wo Sie die Fehlermeldung erhalten? Das heißt, welche Aussage verursacht den Fehler? –

Antwort

2

Ich schlage vor, Sie WebClient verwenden, das eine höhere Abstraktion und arbeitet mit HTTP und FTP und hat viele einfacheren API und leistungsmäßig ziemlich das gleiche (verwendet die gleiche API).

Hier ist upload data.

Verwandte Themen