LoadVars et récupération de données dynamiques

Portrait de titouille

Je viens de tomber dessus, et je trouvais trop intéressant l'astuce pour la laisser passer.

Je suis assez souvent sur les forums Developpez.com, du fait que je me suis remis au C++.
Developpez.com possède également un forum Flash ou je profite de répondre aux threads lorsque je le peux, en attendant des réponses sur les forums C++.

Aujourd'hui, je suis tombé sur un message de hobbes80 que vous pouvez lire ici. Ce dernier explique que lorsqu'il charge un contenu provenant de php en direction de Flash avec un objet LoadVars, le préchargement ne fonctionne pas correctement, ce dernier passant de 0 à 100% directement, et seulement à la fin du chargement.

Ce problème est du au fait que l'objet LoadVars ne peut détecter quelle est la taille des données dynamiques renvoyées par php (ou n'importe quel autre langage script). Il a tout simplement palié ce problème en utilisant une en-tête "Content-Size" qui détermine le poids des données renvoyées, ce qui permet au LoadVars de détecter le poids des données et faire un préload correct.

header( 'Content-Size: $fileSize' );

$fileSize, comme il l'explique, correspond au nombre de caractères à envoyer.

Je dis chapeau pour cette astuce, qui a du en bloquer plus d'un lors des phases de préchargement.





merci pour cette info titouille,
j'ai qq scripts à corriger avec cette trouvaille. @+

Merci!

3 ans plus tard ce truc m'a été très utile! Merci à toi et à Google...

Florent

Oui bonne astuce mais déjà vu sur http://blog.funciton.com/en/archives/000186.php#more Smile

commentaire dans les livedocs

il ne peux pas s'empêcher ce françois de fouttre son bordel ... Smile

Portrait de titouille

hein dit nosoucy Laughing out loud

Portrait de titouille

Merci pour ces compléments Smile
Je considère ça comme une astuce, vu ce qu'il faut faire pour que le téléchargement fonctionne correctement... Il faut tout de même avoir une bonne connaissance reseau/protocoles pour y penser tout de suite. Perso je connaissais le problème, mais je n'avais jamais cherché comment le résoudre, parce que la solution ne me venais pas à l'esprit par cette voie-là...

c'est pas trop une astuce en fait ça fait partie du protocole HTTP et c'est documenté chez MM il me semble...
et au fait l'entête standard HTTP c'est Content-Length au fait