2017-10-13 3 views
0

Ich habe ein sehr einfaches Stück Code. Alles ist richtig geschrieben, keine Tippfehler, und ich chattet mit einem Kollegen, aber wir beide haben einfach keine Idee, wo der Fehler hier liegt.FTP WebException-URI für diesen Befehl ungültig

Es läuft reibungslos und bis GetRequestStream(), wo die Ausnahme auftaucht. Es findet die Dateien, codiert sie korrekt, aber scheint dann nicht mit dem Server verbunden zu sein.

Dies ist der Code:

public class WebRequestUploadExample 
{ 
    public void WebRequestUpload() 
    { 


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

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

     // Copy the contents of the file to the request stream. 
     StreamReader sourceStream = new StreamReader(@"D:\ftpTest\Test\Test.txt"); 
     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

Zeigen Sie uns eine genaue Ausnahmemeldung, seine Aufrufliste und im Idealfall eine Protokolldatei: https://stackoverflow.com/q/9664650/850848 –

+0

bearbeiten Sie Ihre Anmeldeinformationen helfen nicht. Sobald Sie etwas im Internet veröffentlicht haben, können Sie es nicht zurücknehmen. Sie müssen Ihre Anmeldedaten ändern. Und betrachten Sie die Daten auf dem FTP-Server als gefährdet. –

Antwort

1

Zielserver 'passiven' Modus nicht unterstützt werden kann. Hast du den Aktiv-Modus ausprobiert? request.UsePassive = false;

FtpWebRequest.UsePassive

Verwandte Themen