2010-06-29 8 views
1

Je souhaite stocker un objet FileReference d'une manière ou d'une autre et le charger lorsque le fichier SWF est à nouveau chargé.Stockage d'un objet FileReference dans un objet SharedObject

J'ai essayé d'utiliser la classe SharedObject mais cela ne semble pas fonctionner. Je soupçonne que ce que je veux faire n'est pas faisable en raison de problèmes de sécurité (n'utilisant pas Adobe AIR), mais je voulais vérifier.

Est-ce que quelqu'un sait s'il y a lieu de stocker un objet FileReference s'il vous plaît et le charger quand le SWF est redémarré?

Merci beaucoup,

Rudy

+0

Je crains que ce ne soit pas possible. L'action de l'utilisateur est toujours requise pour les opérations du système de fichiers. –

Répondre

2

Je ne pense pas que vous pouvez stocker un FileReference dans un SharedObject. Ou du moins, je ne pense pas que vous puissiez récupérer les données du fichier, donc en pratique il n'y a pas beaucoup de différence. Toutefois, à partir de Flash Player 10, il existe une méthode load dans l'objet FileReference qui vous permet de lire le fichier (via la propriété data). Les données sont accessibles en tant que ByteArray, qui peut être sérialisé et stocké dans un SO pour une récupération ultérieure. Vous pouvez donc demander à l'utilisateur de sélectionner un fichier, de lire ses données binaires et de les stocker dans un SO (il y a une limite de 100 Kb par défaut, donc vous devrez probablement demander de l'espace supplémentaire à l'utilisateur).

La prochaine fois que votre application est chargée, vous devriez être en mesure d'obtenir les données du fichier à partir du SO (à condition que les données ont été enregistrées avec succès et le SO n'a pas été supprimé).

+0

Merci pour votre réponse. Le problème est que l'utilisateur sélectionne un tas de fichiers que je stocke dans une file d'attente. Ces fichiers seront téléchargés plus tard. Je n'ai pas vraiment envie de les lire, gardez juste un FileReference pour qu'il puisse être téléchargé plus tard, quand l'utilisateur reviendra. Mais je suppose que ce n'est pas faisable. – Rudy

+0

Oui, ce serait un trou de sécurité si la filereference pouvait être sérialisée et désérialisée. ByteArray est la bonne façon d'y aller ... (même si je ressens votre douleur - le chargement de fichiers vidéo de 2 Go n'est vraiment pas viable) ... – ansiart