2009-02-10 10 views
1

Une fois, je accidentellement téléchargé seulement une partie de mon programme flash sur mon site (par exemple, il a été tronqué), et à ma plus grande surprise, l'objet flash a été chargé avec succès dans la page Web, aucune erreur n'a été soulevé, pas avertissements ont été donnés du tout. (Ce fut une version de libération du joueur, la version de débogage aurait pu agir autrement, je ne sais pas.) Bien sûr, il ne fonctionnait pas correctement, mais encore, l'écran de préchargement est affiché correctement, et le téléchargement et l'initialisation est apparu être fini normalement.détecter le fichier flash corrompu

Ma question est: est-il un moyen de détecter (dans actionscript/flash ou dans la page Web Embedding) lorsqu'un tel objet flash corrompu a été chargé? Est-ce que je peux peut-être utiliser le preloader pour donner un avertissement quand cela arrive?

Répondre

1

Il y a beaucoup de façons d'extraire les informations d'en-tête d'un fichier SWF (y compris la taille du fichier). Puisque cette information est écrite au moment de la publication, elle ne changera pas si le fichier est tronqué après l'avoir téléchargé. Ainsi, par exemple, vous pouvez extraire cette information et vérifier si la taille du fichier (en fonction de l'en-tête SWF) == octets chargés.

+0

Hmm, je me demande si cette information d'en-tête est accessible à partir d'ActionScript ... –

+0

Oui, il devrait être accessible - vérifiez ceci (exemple assez complet): http://www.senocular.com/flash/actionscript.php ? file = ActionScript_3.0/com/senocular/utils/SWFReader.as – euge1979

+0

Merci, c'est parfait! –

1

Je ne sais pas de toute façon spécifique à mémoire flash, mais il ne serait certainement pas difficile d'écrire un script qui compare le hachage MD5 du fichier d'origine avec la version que vous avez en ligne. Il serait même facile à configurer de telle sorte qu'il s'exécute automatiquement à chaque fois que le fichier a été modifié.

+0

Je préférerais une solution qui fonctionne du côté client. –

+0

Le script pourrait certainement résider sur votre machine client. Il suffit d'écrire un programme dans n'importe quelle langue qui prend deux paramètres: le chemin d'accès au fichier local et l'url du fichier distant. Il fait ensuite un md5 des deux et crache les résultats. Il suffit de lancer le programme chaque fois que vous téléchargez, et vous avez terminé. – levand

Questions connexes