PB à toute heure et à tout moment. (à parcourir avec modération)

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 07-03-2007 09:31:07

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

[RESOLU] FTP avec wininet : problème retour chariot

Salut à tous,

je sais qu'il y a des masses parmis nous en FTP , donc voici mon humble requête :
pour envoyer des fichiers sur un serveur ftp j'utilise l'objet n_wininet du web :

n_wininet.of_putfile( source, destination, true )  // true = ASCII mode

qui appelle l'API wininet :

FtpPutFile(iul_session, as_source, as_target, FTP_TRANSFER_TYPE_ASCII, 0)

Function boolean FtpPutFile ( &
    ulong hConnect, &
    string lpszLocalFile, &
    string lpszNewRemoteFile, &
    ulong dwFlags, &
    ulong dwContext &
    ) Library "wininet.dll" Alias For "FtpPutFileW"

FTP_TRANSFER_TYPE_ASCII = 1
Copy the file using ASCII transfer. Copying from a Windows system to a Unix system carriage-return-line-feed pairs are replaced by carriage-return, and vice versa when copying to Windows from a Unix system.

Les specs pour les retours à la ligne :

LF = char(10) = Linefeed
CR = char(13) = Carriage Return

Unix = LF
Mac = CR
Windows = CR + LF

Mes fichiers ont bien un CR + LF à la fin de chaque ligne avec l'envoi. Lorsque j'utilise u_wininet pour les envoyer il ne reste plus que LF...

J'ai testé un autre serveur (free) avec n_wininet : même symptome. J'ai aussi testé le transfert avec FTP.EXE du Dos ou un client FTP classique : le fichier conserve le CR+LF...

Donc je pense que c'est bien du côté de wininet qui faut chercher

Des idées ?


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#2 07-03-2007 12:15:54

jdobosz  
crazy geek
Award: jdbozc
Lieu: boulogne billancourt
Date d'inscription: 24-05-2006
Messages: 81
Pépites: 2,241
Banque: 2,700,351,746,124,543

Re: [RESOLU] FTP avec wininet : problème retour chariot

si tu ne veux pas que tes cr-lf disparaissent, utilise le mode de transfert "binaire" plutot que "ascii"

ton serveur destinataire est un serveur unix, non ?

en tout cas, si je ne me trompe pas, le fonctionnement normal d'un ftp de windows -> unix en mode ascii est de remplacer
les cr-lf par des lf

voilà !

Hors ligne

 

#3 07-03-2007 14:14:12

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] FTP avec wininet : problème retour chariot

jdobosz a écrit:

si tu ne veux pas que tes cr-lf disparaissent, utilise le mode de transfert "binaire" plutot que "ascii"

bingo ! je viens d'essayer c'était ça

ce qui est bizarre c'est qu'avec un client FTP (filezilla), même en forçant le mode ascii, les cr ne disparaissent pas


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22