begin process at 2012 02 11 05:45:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Système

 > 

Fichier & Disque

 > 

+1 nom d'un fichier.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

+1 nom d'un fichier.

jeudi 27 novembre 2008 à 21:07:27 | +1 nom d'un fichier.

Cactuz

Bonsoir à tous les utilisateurs de CodeS SourceS.
 Je débute dans le C#, et je continue d'essayer de finir un programme:
  L'utilisateur remplie les champs du programme, ses données sont stockés dans un fichier txt, qui est en suite envoyé sur un FTP. Mais voilà, à chaque fois qu'un fichier est crée et uploadé il écrase son précedateur sur le FTP...
Pour contrer ceci, il faudrait ajouter à mon avis un nombre aléatoire à la fin du nom du fichier texte. Voici mon code, comment puis-je faire?

 public void button1_Click(object sender, EventArgs e)
        {
           
            string path = @"c:\fichier.txt";
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine(doc1.Text);
                sw.WriteLine(doc2.Text);
            }
     WebClient wc = new WebClient();
            wc.Credentials = new NetworkCredential(@"account", @"pass");
            wc.UploadFile(@"ftp:/hote/fichier.txt", WebRequestMethods.Ftp.UploadFile, @"C:\fichier.txt");
            wc.Dispose();
      }

Merci pour vos futures réponses.
jeudi 27 novembre 2008 à 22:56:37 | Re : +1 nom d'un fichier.

MasterShadows

Salut, je n'y connais pas grand chose au niveau du FTP, mais une astuce du genre ne fonctionnerait-elle pas ?

// Récupère tous les fichiers présents sur le ftp
string[] files = Directory.GetFiles("ftp://hote//);


string path = @"c:\fichier.txt";

            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine(doc1.Text);
                sw.WriteLine(doc2.Text);
            }

   // Construit le nom du fichier à uploader
   string filenameToUpload = string.Format("{0}//fichier{1}", @"ftp:/hote", files.Length + 1);


     WebClient wc = new WebClient();
            wc.Credentials = new NetworkCredential(@"account", @"pass");
            wc.UploadFile(filenameToUpload , WebRequestMethods.Ftp.UploadFile, @"C:\fichier.txt");
            wc.Dispose();
En espérant t'avoir aidé...
vendredi 28 novembre 2008 à 07:53:11 | Re : +1 nom d'un fichier.

SharpMao

Membre Club
Hello,

Le problème de ta solution, MasterShadows, c'est que si des fichiers sont effacés, le nombre de fichiers sur le site ne correspond plus au numéro maximum des fichiers.

Je vois trois solutions :
- Récupérer les noms de fichiers sur le ftp, parcourir la liste et parser le numéro pour récupérer le plus grand.
- Mettre la date sous un certain format, par exemple yyyyMMdd-HHmmss-FFF. C'est simple, et ça permet de trier les fichiers facilement.
- Mettre un Guid dans le nom du fichier. C'est moche, mais si plusieurs personnes peuvent uploder des fichiers simultanément, c'est presque le seul moyen de garantir une unicité des nom de fichier.


Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
vendredi 28 novembre 2008 à 17:54:52 | Re : +1 nom d'un fichier.

Cactuz

Bonsoir, et merci pour vos réponses. Je pense m'orienter vers l'affichage de l'heure d'upload, ce qui me parrait le plus efficace.
Quelque chose comme cela: DateTime.Now.ToString("dd-MM-yyyy" );

Mais je bloque un peu pour la création du filename, je débute.
vendredi 28 novembre 2008 à 21:30:39 | Re : +1 nom d'un fichier.

WishhhMaster

Réponse acceptée !
Salut,

Essaye un truc comme ça.  Ca te crée un fichier avec la date du jour et l'heure (heure, minutes, secondes, millisecondes). Comme l'a dit SharpMao, il peut y avoir un problème si plusieurs personnes upload un fichier simultanément. Mais avec les millisecondes dans le nom du fichier, avec un peu de chance ça n'arrivera pas :)

string fileName = string.Format("fichier_{0}.txt", DateTime.Now.ToString("yyyyMMdd-HHmmss-FFF"));
            string localPath = string.Format(@"c:\{0}", fileName);
            string remotePath = string.Format(@"ftp:/hote/{0}", fileName);

            using (StreamWriter sw = File.CreateText(localPath))
            {
                sw.WriteLine(doc1.Text);
                sw.WriteLine(doc2.Text);
            }
            WebClient wc = new WebClient();
            wc.Credentials = new NetworkCredential(@"account", @"pass");
            wc.UploadFile(remotePath, WebRequestMethods.Ftp.UploadFile, localPath);
            wc.Dispose();

vendredi 28 novembre 2008 à 23:23:36 | Re : +1 nom d'un fichier.

Cactuz

Parfait, j'ai compris le fonctionnement. Merci à toi!


Cette discussion est classée dans : fichier, programme, ftp, txt, wc


Répondre à ce message

Sujets en rapport avec ce message

fichier txt [ par kedric ] bonjourd comment pouvont nous faire pour ouvrire un fichier txt sans passer par une fenetre showdialog pour aficher le text dans une textbox merci d a Executer.... [ par CracK ] Je cherche à associer à un bouton par exemple la fonction qui me permetterai d'executer un fichier txt, mpg ou autres .... private void button1_Click [C#] Nom de fichier dans un textBox [ par jeffwow ] Donc, j'ouvre un fichier avec OpenFileDailog... jusque là ça va. Ensuite, je voudrais prendre le nom de ce fichier et l'envoyer dans un textBox. tex Cryptage Decryptage à la volée [ par jdaviaud ] Salut tout le mondej'ai un programme qui se base sur un fichier Ini pour sa configuration.Ce que je veux, c'est lorsqu'il y a une modif de la configur C# Enregistrer dans un fichier text [ par dib.fred ] voila je voudrai bien pouvoir enregister dans un fichier txt des donnees(string) qui viennent de textBox.je cree un fichier:FileStream fs =new FileSt charger un fichier txt sans opendialogFile [ par gwady ] Bonjour,Voila je voudrais affficher le contenu d'un fichier texte dans une richTextBox. J'ai déjà regardé les aides données à d'autres personnes mais, [Appli Windows][c#] Lire des infos dans un fichier texte (txt) formaté puis les traités et les exporté sur mysql [ par Julos59 ] Bonjour voila j'ai une question multiple qui se complique au fur rt a mesure :-)Je débute en c# donc ma première partie de question est simple.J'ai un Lire et Écrire dans un fichier texte [ par Ti_Math ] Jai fait des recherche sur le forum autant dans dll que dans la section IO du forum mais jai pas tout a fait trouver ce que je voulais. (Si c'était dé HELP ME urgent!!!! envoie de fichier sur un ftp [ par shinevilkyo ] lu c encore moi,je deviens fou je trouve rien ds la lib msdn pour envoyer un fichier vers un ftp en c# si quelque sais dite le moi.si il n existe rien Connexion à un serveur ftp [ par Fildomen ] salutje veux faire un prog qui se connecte à un serveur ftp (comme "ftp.multimania.fr"), et j'efface un fichier la dedans nomé "xx.txt", et je upload


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,697 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales