Webrequestmethods.ftp.appendfile + accents

Rykudos - 19 févr. 2015 à 14:36
 Rykudos - 19 févr. 2015 à 18:48
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.

1 réponse

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
19 févr. 2015 à 17:13
Bonjour,

essaie cela:

fileContents = ASCIIEncoding.ASCII.GetBytes(Str)

0
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.
0
Rejoignez-nous