begin process at 2012 05 30 15:45:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Resume d'un téléchargement FTP (Wininet)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Resume d'un téléchargement FTP (Wininet)

lundi 3 avril 2006 à 10:29:42 | Resume d'un téléchargement FTP (Wininet)

Bistoy

Je suis en train de me faire un petit client FTP car je n'arrive pas à en trouver un (même commercial) qui ne plante pas.

Tout marche correctement mais je dois avouer que je bloque lorsque j'esssaye de déplacer mon pointeur de fichier distant avec InternetOpenUrl(). (c'est la seule fonctione de wininet qui supporte InternetSetFilePointer() pour les serveur FTP à ma conaissance)
La fonction me renvoie tout le temps la valeur 0 et pourtant mon serveur supporte le resume.

ci-joint le petit bout de code pour le resume (j'utilise plutot la fonction FtpOpenFile() pour télécharger un fichier sans déplacer le pointeur, celle-ci marche parfaitement) :

hInternetSession = InternetOpen(szAppName, ZeConfig.Type_Proxy, ZeConfig.NomProxy, NULL, 0);
...
// Formatage de la chaine
InternetCanonicalizeUrl(TmpBuffer, FileToResume, &FileToResumeBufferLength, ICU_DECODE);
// Ouverture du fichier distant
HwndNetFile = InternetOpenUrl(hInternetSession, FileToResume, NULL, NULL,
INTERNET_FLAG_PASSIVE | INTERNET_FLAG_EXISTING_CONNECT INTERNET_FLAG_RAW_DATA | INTERNET_FLAG_RELOAD, 0);
if(HwndNetFile == NULL)
{
    UpdateLog("Impossible d'ouvrir le Fichier distant pour compléter le transfert de '%s'.", FileToResume);
    GetLastErreur("InternetOpenUrl");
    goto DownloadFini;
};
// TailleTotaleExistante = Taille du fichier toujours > 0)
ResumeResult = InternetSetFilePointer(HwndNetFile, TailleTotaleExistante, NULL, FILE_BEGIN, 0);
if(ResumeResult == -1)
{
    UpdateLog("Le pointeur du fichier n'a pas été mis à la position demandée. (%u) [%u]", TailleTotaleExistante, ResumeResult);
    goto DownloadFini;       
}
if(ResumeResult == 0)
{
    UpdateLog("Le pointeur du fichier n'a pas été mis à la position demandée. (%u) [%u]", TailleTotaleExistante, ResumeResult);
    goto DownloadFini;       
}
UpdateLog("Le pointeur du fichier a été mis à la position %u. [%u]", TailleTotaleExistante, ResumeResult);
...


Je me demandais si il etait possible de déplacer le pointeur de fichier autrement que par la fonction InternetSetFilePointer.
Je sais que ca fonctionne avec InternetReadFile mais c'est pas interessant etant donnée que je ne veux pas télécharger cette partie,
Etant donnée que c'est un handle je vois pas trop comment; es ce que vous auriez une idée?

vendredi 20 avril 2007 à 15:34:09 | Re : Resume d'un téléchargement FTP (Wininet)

realic

Salut,

En fait je cherche un logiciel qui gère le téléchargement par partie, car celui que j'utilise reçoit le fichier d'une traite (via ftpgetfile).
Ton code a l'air de correspondre à ce que je recherche. Pourrais-tu me l'envoyer, et comme ca, on sera 2 à plancher sur ton problème en plus .

 

vendredi 20 avril 2007 à 16:00:30 | Re : Resume d'un téléchargement FTP (Wininet)

Bistoy

En fait en regardant la doc de wininet sur le msdn de microsoft on peut voir que wininet ne supporte pas la fonction resume...

Je te conseille FlashFXP, un client FTP gratuit qui possède cette fonction.


vendredi 20 avril 2007 à 17:37:20 | Re : Resume d'un téléchargement FTP (Wininet)

realic

J'ai trouvé un logiciel qui gère les resume en FTP ;).
Donc c'est possible, il ne le fait pas en naturel, mais il le fait.

[ Lien ]

Le seul problème, pour le moment, pour moi, c'est qu'il ne fonctionne pas en UNICODE. Mais bon ,ca va venir.
vendredi 20 avril 2007 à 18:34:48 | Re : Resume d'un téléchargement FTP (Wininet)

vecchio56

Administrateur CodeS-SourceS
FlashFXP est bien mais pas gratuit

_____________________________________
Un éditeur de ressources gratuit pour Windows

vendredi 20 avril 2007 à 19:13:51 | Re : Resume d'un téléchargement FTP (Wininet)

Bistoy

Ah oui désolé, alors tu as ACE FTP et FileZilla et Bullet FTP proof qui sont freeware je crois :)




Cette discussion est classée dans : fichier, pointeur, resume, resumeresult, tailletotaleexistante


Répondre à ce message

Sujets en rapport avec ce message

nom d'un fichier a partir d'un pointeur FILE ? [ par roiDesBranleurs ] salut !!voilà. je suis etudiant et je fais mes premiers pas en C..faut dire que passer de Java en C c'est pas evident..je veux cree une fonction qui p Pointeur en C [ par casper_2 ] Bonjour j'aimerais savoir comment ,appartir d'une autre application ,savoir si celui est soit en cours d'execution ou soit terminer. G reflechis a mon Pointeur sur les données [ par Ensias ] Est ce qu'il y a une fonction qui retourne un pointeur sur les données d'un fichier , je veux dire par cela directement sur les données du fichier , c Ficher Memoire Pointeur [ par maladedede ] Bonjour je voudrais savoir comment mettre un fichier en memoire vive et avoir un pointeur vers l'adresse memoire ou commence le fichier :)Je connais l à l'aide pour fusioné la fonction getline + fct strtok [ par yanlou ] salut,voici mon problmé, je veux lire un fichier txt, je le fais avec la fonction getline. voici le code :#include #include #include int main(){    Lecture d'un fichier avec decoupe de chaine. [ par macbang ] Bonjour, je reviens vers vous pour un problème que j'ai du mal a résoudre.Mon programme ouvre un fichier, le but étant de découper ligne par ligne pou C pointeur dans un fichier [ par Yunchi ] Bonjour, J'aimerai savoir s'il est possible lors d'une lecture dans un fichier de revenir plus haut dans le fichier. Par exemple on fait des gets don A propos des pointeurs de fichier [ par dayvid75014 ] Bonjour,Je ne comprends pas pourquoi lorsque j'utilise un pointeur de fichier en dehors du main, cela me renvoie une erreur, comme si j'accédais à des Gestion fichiers TXT [ par trystan007 ] Salut, je cherche une commande afin de gérer des fichier texte.En cherchant, je suis tombé sur la commande fopen, mais le code suivant  (code d'exempl pb de pointeur [ par elisabeth_nov ] Bonsoir,mon souci c'est que j'ai créé un programme qui permet de crypter un fichier, ce que je ne parvien pas à faire c'est à afficher le fichier que


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,089 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales