2015-10-28 11 views
5

Sto cercando di capire come ottenere questo file caricato sul mio server ftp in C#. Quando chiama getResponse() su ftpwebrequest, viene visualizzato un errore che dice "550 - accesso negato". Non riesco a capire perché. Posso collegarmi al server con Filezilla bene usando le stesse credenziali.ftpwebrequest.getresponse sta lanciando 550 accesso negato

Ecco il mio codice che fa il collegamento:

private void UploadFileToFTP(HttpPostedFile file, string server, string user, string pass) 
    { 
     string uploadUrl = server + file.FileName; 
     string uploadFileName = Path.GetFileName(file.FileName); 

     Stream streamObj = file.InputStream; 
     Byte[] buffer = new Byte[file.ContentLength]; 
     streamObj.Read(buffer, 0, buffer.Length); 
     streamObj.Close(); 
     streamObj = null; 
     try 
     { 
      SetMethodRequiresCWD(); 
      FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(uploadUrl); 
      //ftp.Method = WebRequestMethods.Ftp.MakeDirectory; 
      ftp.Method = WebRequestMethods.Ftp.UploadFile; 
      ftp.UsePassive = true; 
      ftp.Credentials = new NetworkCredential(user, pass); 
      FtpWebResponse CreateForderResponse = (FtpWebResponse)ftp.GetResponse(); 

      if (CreateForderResponse.StatusCode == FtpStatusCode.PathnameCreated) 
      { 

       string ftpUrl = string.Format("{0}/{1}", uploadUrl, uploadFileName); 

       FtpWebRequest requestObj = FtpWebRequest.Create(ftpUrl) as FtpWebRequest; 

       requestObj.KeepAlive = true; 
       requestObj.UseBinary = true; 

       requestObj.Method = WebRequestMethods.Ftp.UploadFile; 
       requestObj.Credentials = new NetworkCredential(user, pass); 

       Stream requestStream = requestObj.GetRequestStream(); 
       requestStream.Write(buffer, 0, buffer.Length); 
       requestStream.Flush(); 
       requestStream.Close(); 
       requestObj = null; 

      } 
     } 
     catch (WebException e) 
     { 
      String status = ((FtpWebResponse)e.Response).StatusDescription; 
     } 
    } 
+0

quando ci si connette allo stesso sito ftp tramite file-zilla si carica effettivamente utilizzando file-zilla – MethodMan

+0

sì, il caricamento e il download funziona correttamente con filezilla – dmikester1

+0

provare a farlo utilizzando 'WebClient' qui http: // stackoverflow .com/questions/15268760/upload-file-to-ftp-using-c-sharp – MethodMan

risposta

2

OK, ho armeggiato intorno a questo un po 'di più dopo aver letto i vari commenti qui. Sono entrato nelle mie impostazioni di Kaspersky e ho disabilitato la scansione delle porte 20 e 21. Boom! Il file è lì. Ora è vuoto per qualche motivo, quindi lo esaminerò o tornerò per un aiuto qui! :)

Problemi correlati