2011-01-05 5 views
0

Je souhaite ajouter du stockage local à une application Web Flash existante qui utilise jusqu'à présent un serveur Web pour stocker des données (base de données et fichiers multimédias).Ajouter du stockage local à Flash webapp

Quelles sont mes options? Je souhaite réutiliser le code de la webapp Flash et l'exécuter dans un navigateur si possible (ce qui, si je ne me trompe pas, n'est pas possible avec Adobe AIR).

Répondre

0

Vos options sont limitées, mais la principale façon pour Flash de stocker des données localement est un Local Shared Object, alias «Flash Cookie».

Ils ont tous les mêmes problèmes que les cookies normaux, avec quelques autres.

Le code est simple si:

import flash.net.SharedObject; 

var cookie:SharedObject = SharedObject.getLocal('mycookiename', '/', false); 
cookie.data.foo = 'bar'; 
cookie.flush(1); 

Vous pouvez lire tout sur le flash api.

Alternativement, vous pouvez utiliser ExternalInterface conjointement avec JavaScript pour accéder/muter des données dans les cookies réguliers.

+0

Est-ce que cela n'a pas une limite de 100 Ko? Si c'est le cas, il ne suffit pas de stocker des fichiers multimédias. – hpique

+0

Ce n'est pas pour le stockage de fichiers multimédias. C'est juste un moyen de stocker des données localement. Avec Flash, vous ne pouvez pas stocker directement les données sur un système de fichiers local d'un utilisateur, car il se trouve dans un autre sandbox de sécurité. AIR peut interagir avec le système de fichiers local, mais a les problèmes que vous avez mentionnés. Vous pouvez utiliser les scripts de serveur pour servir les fichiers à l'utilisateur si vous souhaitez qu'ils soient en mesure de les enregistrer localement. – zzzzBov