“URI richiesto non valido” durante il caricamento con FTPWebRequest

Sto cercando di caricare il file in una directory su un server FTP. Ho usato questo metodo con FtpWebRequest . Vorrei caricare un file in una directory home per questo utente, ma ottengo sempre il seguente messaggio di errore:

L’URI richiesto non è valido per questo comando FTP.

Quale può essere un problema? Ho provato a distriggersre la modalità passiva, ma è sempre la stessa.

 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(); } 

Se vuoi caricare qualcosa, devi fornire FTPClient con un nome file .

 FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://12.22.44.45/myNewFile.dat"); 

Ti suggerisco di utilizzare WebClient che è un’astrazione di livello superiore e funziona con HTTP e FTP e ha API e prestazioni molto più semplici, praticamente uguali (usa la stessa API).

Ecco i dati di caricamento .