Bonjour,
J'essaye de télécharger un fichier sur un serveur via FTP dans C# et cela ne fonctionne pas tout à fait car il semble y avoir un problème d'encodage du fichier téléchargé.
Voici mon code:
Cela me donne un fichier avec des caractères non-lisibles et pourtant, si j'utilise FileZilla pour télécharger le fichier et que je spécifie que le transfert doit se faire en ASCII, tout est parfait sur le fichier téléchargé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 string inputfilepath = @"C:\Temp\S102.ETACT"; string ftphost = "monHote"; string ftpfilepath = "/S102.ETACT"; string ftpfullpath = "ftp://" + ftphost + ftpfilepath; WebClient request = new WebClient(); request.Credentials = new NetworkCredential("user", "psw"); request.Encoding = Encoding.ASCII; byte[] fileData = request.DownloadData(ftpfullpath); FileStream file = File.Create(inputfilepath); file.Write(fileData, 0, fileData.Length); file.Close();
J'ai aussi essayé de convertir le fichier seulement après le téléchargement en utilisant string fileString = Encoding.ASCII.GetString(fileData). J'ai aussi essayé de lire le fichier en utilisant byte[] fileData = File.ReadAllBytes(ftpfullpath) sans plus de succès.
Est-ce que vous auriez une piste de solution pour moi?
Merci de votre aide!
Partager