2010-11-02 22 views
0

Dans mon application AIR, j'essaie d'implémenter un programme de téléchargement de fichiers à l'aide d'URLStream. Je crée simplement un objet de la classe ci-dessus et passe l'URL et le fichier et appelle la fonction de chargement. Pour certains fichiers, j'obtiens l'erreur suivante.URLStream renvoie l'erreur # 2029 dans mon application flexible AIR

remotePath: http://mydomain.com/238/6m_608-450.jpg 
error while writing bytes from...Error:Error #2029: This URLStream object does not have a stream opened.

Ce qui signifie que l'erreur provient du flux de fichiers (fileAccess) que j'utilise. Je suis incapable de comprendre pourquoi cela pourrait se produire. Si j'essaie d'ouvrir l'url http://mydomain.com/238/6m_608-450.jpg dans le navigateur, il s'ouvre correctement. Cela arrive au hasard pour certains fichiers. Quel pourrait être le problème?

Répondre

1

J'ai essayé dans mon bureau et cela fonctionne pour moi (pour différents fichiers et taille de fichier). Alors, pouvez-vous décrire les fichiers (ou types de fichiers) qui ne fonctionnent pas pour vous (publier une URL si vous le pouvez)? Je dirais que lorsque vous utilisez la méthode readBytes votre flux (de sorte que l'URLStream) est toujours proche.

Plus, je me permet quelques conseils: 1/Utiliser des constantes de flash au lieu de simple chaîne 2/Ne pas oublier d'enlever vos auditeurs une fois l'opération terminée 3/Votre méthode FileDownloader est assez déroutant. Utilisez des minuscules si c'est une fonction ou mettez une majuscule avec le nom de la classe si vous l'utilisez comme constructeur. Pour moi, cette fonction doit être un constructeur.