Pb telechargement fichier txt

Résolu
demonn Messages postés 72 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 18 janvier 2007 - 18 juin 2005 à 09:53
demonn Messages postés 72 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 18 janvier 2007 - 18 juin 2005 à 16:46
bonjour,
j'ai un souci pour telecharger un fichier par ftp
le telechargement ce deroule bien (vu les message de retour du serveur mais seulement quand j'ouvre mon fichier texte telecharger au lieu d'avoir du texte dedans j'ai ça :
Ϣ眧歳ㄷ㠸⡅
獥⁴湥映楡⁴湵眠湩潳正⁳牡慲ⱹ猠⁩潣浭

voici mon code:


'Reception du fichier télécharger
Dim DONNEES
As
String = e.bytesTotal
wsk_dl.GetData(DONNEES)


NEW_BUFFER = NEW_BUFFER & DONNEES



If Len(NEW_BUFFER) >= NOM_NEW_DOWNLOAD_TAILLE
Then
Dim p
As
Integer
p = Microsoft.VisualBasic.FreeFile()


Microsoft.VisualBasic.FileOpen(p, "c:\test.txt", OpenMode.Binary, OpenAccess.Default)
Microsoft.VisualBasic.FilePutObject(p, NEW_BUFFER)
Microsoft.VisualBasic.FileClose()
wsk_dl.Close()

quelqu'un voit mon probleme?

12 réponses

beltegeuse Messages postés 44 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 31 janvier 2009 33
18 juin 2005 à 15:06
Tu peux essayer une autre methode avec les SteamWriter



tu importe avant ta class :

Imports System.IO

Imports System.Text



Puis tu peut essayer :



Dim Buffer(1024) As Byte

Dim bytes As Integer

Dim strTemp As String

Dim ascii As Encoding = Encoding.ASCII





bytes = Socket.Receive(Buffer, Buffer.Length, 0)

strTemp = strTemp + ascii.ASCII.GetString(Buffer, 0, bytes)


Dim sw As New StreamWriter("Test.txt", False)

sw.WriteLine(strTemp
)

sw.Close()



j'ai pas tt mit car ca prend pas mal de lignes! Mais il faut que tu definise bien socket!
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
18 juin 2005 à 12:37
Salut
C'est du VB.Net, donc je ne peux rien pour toi, mais est-ce que tu as pu vérifier le contenu de NEW_BUFFER avant son enregistrement sous fichier ? Est-ce du texte ascii ou des signes bizarres ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
demonn Messages postés 72 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 18 janvier 2007
18 juin 2005 à 14:55
salut,
non j'ai bien le contenu du fichier texte en texte clair
c'est ça que je comprend pas
0
demonn Messages postés 72 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 18 janvier 2007
18 juin 2005 à 15:16
ouhai je vois ce que tu veu dire je vais essayer

le truc c'est que là c'est un fichier texte,mais si c'est un fichier zip ou exe ça marche pareil ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
beltegeuse Messages postés 44 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 31 janvier 2009 33
18 juin 2005 à 15:19
tu peut essayer! mais je ne sais pas si ca marche! Mais essaye donc! et dit moi si ca marche ca m'interresse!
0
demonn Messages postés 72 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 18 janvier 2007
18 juin 2005 à 15:45
voilà alors j'ai fait ça :
Dim BUFFER
As
Object
Dim DONNEES
As
String = e.bytesTotal
wsk_dl.GetData(DONNEES)
BUFFER = BUFFER & DONNEES

Dim sw
As
New StreamWriter("c:\Test.zip",
False)
sw.WriteLine(BUFFER)
sw.Close()
wsk_dl.Close()

*wsk_dl etant mon winsock pour les telechargement

ça marche sof que le texte est sur une seule ligne.
j'ai aussi essayer avec un fichier zip et là j'ai une erreur "450 link to files serveur lost"
mais ça je verais plutard car je c'est pas s'y il faut pas changer le TYPE
0
beltegeuse Messages postés 44 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 31 janvier 2009 33
18 juin 2005 à 15:49
Je crois que tu peux utiliser la fonction peer.
Mais je ne sais pas comment on l'utilise :/. tu peut essayer de la voir avec Msdn.
mais c'est vrai que ca n'écrit que sur une seule line.....
0
demonn Messages postés 72 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 18 janvier 2007
18 juin 2005 à 16:12
ouhai ou alors faire un split de mon buffer:
dim ligne() as string
ligne = split(buffer,chr(10),-1)
et là aprés j'ecrit chaque ligne trouvé.
seulement toujours pareil ça ça va marché que pour les fichier texte.
0
beltegeuse Messages postés 44 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 31 janvier 2009 33
18 juin 2005 à 16:27
Il faudrai trouver un fonction en ecrivan en binaire.... je vais voir ca....
0
demonn Messages postés 72 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 18 janvier 2007
18 juin 2005 à 16:29
Merci beaucoup pour votre voilà le code pour ce qui chercherons:


'Reception du fichier télécharger
Dim DONNEES
As
String = e.bytesTotal

Dim texte(), ligne
As
String
Dim sw
As
New StreamWriter("c:\Test.txt",
False)
wsk_dl.GetData(DONNEES)
BUFFER = BUFFER & DONNEES
texte = Split(BUFFER, Chr(10), -1)

For
Each ligne
In texte
sw.WriteLine(ligne)

Next
sw.Close()
wsk_dl.Close()
0
beltegeuse Messages postés 44 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 31 janvier 2009 33
18 juin 2005 à 16:36
Tien tu peux regarder ca : http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpguide/html/cpconReadingWritingToNewlyCreatedDataFile.asp

Je pense que ca doit etre bon avec ca pour ecrire d'autre fichier que des fichier text
0
demonn Messages postés 72 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 18 janvier 2007
18 juin 2005 à 16:46
ah oui je vais vois ça de plus pret.
merci ;-)
0
Rejoignez-nous