LoadVars et récupération de données dynamiques
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
commentaire dans les livedocs
commentaire dans les livedocs
il ne peux pas s'empêcher ce françois de fouttre son bordel ...
hein dit nosoucy
Merci pour ces compléments
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