Webrequestmethods.ftp.appendfile + accents

Signaler
-
 Rykudos -
Bonjour,
j'utilise la fonction ci-dessous pour ajouté du texte a un fichier sur un serveur ftp, mon problème est que les accent ne sont pas pris en charge.


Shared Function AppendStringToFile(ByVal Str As String, ByVal pathFTP As String, ByVal User As String, ByVal pass As String, ByVal NouvelleLigne As Boolean)

Dim resultat

Try
Dim request As FtpWebRequest = DirectCast(WebRequest.Create(pathFTP), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.AppendFile
request.Credentials = New NetworkCredential(User, pass)

Dim fileContents As Byte()

If NouvelleLigne = True Then
fileContents = Encoding.Default.GetBytes(vbNewLine & Str)
Else
fileContents = Encoding.Default.GetBytes(Str)
End If

request.ContentLength = fileContents.Length

Dim requestStream As Stream = request.GetRequestStream
requestStream.Write(fileContents, 0, fileContents.Length)
requestStream.Close()
Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)

response.Close()

request.Abort()

resultat = "Fichier modifié avec succés !"

Catch ex As Exception

resultat = "Erreur :" + ex.Message

End Try

Return resultat

End Function



mon problème est surement dû au fait que system.io.stream ne prend pas en charge les accent. donc je souhaiterai savoir si il y a une autre classe que stream pour gérer GetRequestStream et qui prendrai en charge les accents, merci.
A voir également:

1 réponse

Messages postés
7466
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
30 juillet 2021
125
Bonjour,

essaie cela:

fileContents = ASCIIEncoding.ASCII.GetBytes(Str)

Bonjour, merci pour ta réponse j'ai test comme ça


Dim requestStream As Stream = request.GetRequestStream
fileContents = ASCIIEncoding.ASCII.GetBytes(Str)
requestStream.Write(fileContents, 0, fileContents.Length)
requestStream.Close()


et comme ça


Dim fileContents As Byte()
If NouvelleLigne = True Then
fileContents = ASCIIEncoding.ASCII.GetBytes(vbNewLine & Str)
Else
fileContents = ASCIIEncoding.ASCII.GetBytes(Str)
End If


mais je n'ai toujour pas les accents.