Originariamente inviato da y.chen
GhostFire, con il tuo suggerimento non mi da eccezioni strane ma nel server ftp mi mette un file PUT senza estensione...

Forse è meglio che do un paio di dettagli in più:

Io devo inviare un file zip che creo in automatico e che intanto mi va a finire nella cartella di debug. Quindi dove tu hai scritto FilePath messo txtNomeFile.Text + ".zip" ma ho provato a mettere anche tutto il percorso incluso il nome del file.

Mi potresti aiutare?
Nel filepath va inserita la path del percorso del file da caricare, quindi:

c:\blablabla\myfile.zip

Per quanto ne sappia e dopo parecchie ricerche ho concluso che una volta uppato deve essere rinominato.

I passaggi da fare sarebbero questi:

-Crei il file
-Carichi il file immediatamente dopo la creazione
-Rinomini il file.

Questo è il codice che ho fatto per rinominarlo.

codice:
  private void RenameFile()
        {

            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(URLupload + "STOR"));
            reqFTP.Method = WebRequestMethods.Ftp.Rename;
            reqFTP.RenameTo = "Myname" + ".zip";
            reqFTP.UseBinary = true;
            reqFTP.Credentials = new NetworkCredential(username, password);
            FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
            ftpStream = response.GetResponseStream();
            ftpStream.Close();
            response.Close();

        }
URLupload corrisponde alla cartella in cui è stato uppato il file mentre "STOR" corrisponde al nome del file che si trova all'interno del percorso assegnato.

al posto di MyName ci metti il tuo nome e poi sotto dichiari username password e tutto il resto...

infine richiami questa funzione subito dopo quella per l'upload.