2010-12-14 6 views
13

Je tente de télécharger un fichier dans un répertoire sur un serveur FTP. J'ai utilisé cette méthode avec FtpWebRequest. Je voudrais télécharger un fichier dans un répertoire personnel pour cet utilisateur, mais je reçois toujours le message d'erreur suivant:"URI demandé est invalide" lors du téléchargement avec FTPWebRequest

L'URI est non valide pour cette commande FTP.

Que peut-être un problème? J'ai essayé d'utiliser le mode passif, mais c'est toujours la même chose.

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

L'erreur suggère qu'il n'y a pas de serveur ftp assis sur 12.22.44.45 prêt à accepter les informations d'identification de pokus et mot de passe (quelle que soit l'information réelle est). Avez-vous essayé de ftp à ce serveur en dehors du code en utilisant ces paramètres/références? –

+0

Pouvez-vous nous dire où vous obtenez le message d'erreur? C'est, quelle déclaration provoque l'erreur? Ce –

Répondre

2

Je vous suggère d'utiliser WebClient qui est une abstraction de plus haut niveau et fonctionne avec HTTP et FTP et a beaucoup plus simple API et la performance sage à peu le même (utilise la même API).

est ici upload data.

Questions connexes