IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[MFC] Problème sur l'upload


Sujet :

MFC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 84
    Points : 46
    Points
    46
    Par défaut [MFC] Problème sur l'upload
    Bonjour à tous !

    Je developpe actuellement un activeX permettrant d'uploader des fichiers. Mon code ressemble à ca (je me suis inspiré de msdn):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    LPSTR pszData = _T("Example");
    DWORD dwBytesWritten = 0;
    BOOL  bResults = FALSE;
    HINTERNET hSession = NULL,
              hConnect = NULL,
              hRequest = NULL;
     
    // Use WinHttpOpen to obtain a session handle.
    hSession = WinHttpOpen(  L"A WinHTTP Example Program/1.0", 
                              WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,
                              WINHTTP_NO_PROXY_NAME, 
                              WINHTTP_NO_PROXY_BYPASS, 0);
     
    // Specify an HTTP server.
    if (hSession)
        hConnect = WinHttpConnect( hSession, L"www.test.com",
                                       INTERNET_DEFAULT_HTTP_PORT, 0);
    // Create an HTTP Request handle.
    if (hConnect)
        hRequest = WinHttpOpenRequest( hConnect, L"POST", L"/uploadFile", 
                                           NULL, WINHTTP_NO_REFERER, 
                                           WINHTTP_DEFAULT_ACCEPT_TYPES, 0);
     
    // Send a Request.
    if (hRequest) 
         bResults = WinHttpSendRequest( hRequest, 
                                           WINHTTP_NO_ADDITIONAL_HEADERS, 0,
                                           WINHTTP_NO_REQUEST_DATA, 0, 
                                           strlen(pszData), 0);
     
    // Write data to the server.
    if (bResults)
      bResults = WinHttpWriteData( hRequest, pszData, strlen(pszData), 
                                         &dwBytesWritten);
     
    // End the request.
    if (bResults)
        bResults = WinHttpReceiveResponse( hRequest, NULL);
     
    // Close any open handles.
    if (hRequest) WinHttpCloseHandle(hRequest);
    if (hConnect) WinHttpCloseHandle(hConnect);
    if (hSession) WinHttpCloseHandle(hSession);
    Mon problème est que j'aimerai afficher une progressbar pour voir la progression de l'upload. Pour cela, j'aimerai connaitre le nombre de bits envoyés (en pseudo temps réel) pour pouvoir synchroniser ma progressbar. Ya t-il un moyen de savoir le nombre de bits envoyés avec WinHttpWriteData?

    Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 84
    Points : 46
    Points
    46
    Par défaut
    Dans l'exemple au dessus, j'envoie une simple chaine de caractère mais en vrai j'envoie des fichiers binaires. En remplacant la chaine de caractère par le contenu du fichier, cela marche très bien. Cependant je n'ai toujours pas trouvé de façon de connaitre le nombre d'octets envoyés.
    Est il possible de faire une boucle permettant de n'envoyer qu'une certaine quantitée de donnée ce qui me permettrait de connaitre le nombre d'octets envoyé ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 84
    Points : 46
    Points
    46
    Par défaut
    J'essaye de faire quelque chose avec les WINHTTP_CALL_BACK dans ma fonction mais je n'y comprends rien. Quelqu'un pourrait-il m'aider pour transformer mon code avec des callback ? Ce qui me permettrait de connaitre peut etre le nombre d'octets envoyés

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 84
    Points : 46
    Points
    46
    Par défaut
    Désolé d'insister mais je suis dans une impasse.
    I need help
    Je ne comprends rien au CALLBACKS. Existe-il un moyen de faire ce que je veux faire sans les utiliser ? Sinon est ce que quelqu'un aurait un exemple simple utilisant WinHttpWriteData ??

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Sos
    je voulais utiliser tom code d'upload,mais je retrouve l'erreur suivante
    error C2440: 'initialisation' : impossible de convertir de 'const wchar_t [6]' en 'LPSTR'
    tu peu m aider stp

Discussions similaires

  1. Problème sur MFC pour un planning d'activité
    Par FranckyPG dans le forum Excel
    Réponses: 0
    Dernier message: 03/03/2015, 11h28
  2. Problème Curl en upload sur serveur FTP actif
    Par aquafiestas dans le forum Administration système
    Réponses: 2
    Dernier message: 16/10/2008, 05h45
  3. Réponses: 16
    Dernier message: 15/05/2006, 14h49
  4. [CKEditor] Problème sur upload
    Par raptor70 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 23/11/2005, 14h07
  5. [MFC] Problème pointeur sur une classe
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 14/04/2004, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo