J'ai cherché longtemps pour un moyen de stocker un grand nombre d'images en HTML5 ou d'y accéder localement et de les afficher. P>
L'application est une commande de produit et un catalogue, comme un site Web de commerce électronique, mais pour les commandes en vrac, pas les clients finaux, chaque image est un produit, c'est pourquoi il est nécessaire d'avoir 40K images. Le besoin provient de l'exigence selon laquelle le vendeur peut utiliser la tablette en mode hors connexion pendant des jours, des semaines et uniquement Sync avec l'ERP une fois qu'il a une connexion ou souhaite synchroniser. P>
Chaque vendeur a une tablette androide dédiée Tegra3 Quad-Core, 32 Go pour l'application. Mais l'application prend également en charge l'iPad et le chrome sur le bureau. P>
Cependant, j'ai fait face aux limitations suivantes: p>
Alors peut-être que je manque une solution alternative de faire cela? p>
Y a-t-il une façon HTML5 de stocker un grand nombre d'images pour la visualisation hors connexion? FileSystem API n'est pas pris en charge sur des appareils mobiles et la possibilité de fonctionner sur des appareils mobiles est une exigence forte. P>
5 Réponses :
Je teste cette solution en ce moment. Le problème est qu'il ne fonctionne alors pas sur le bureau qui doit également être soutenu
De l'apparence de celui-ci, l'API Phonegap FS devrait être disponible avec la mise en œuvre des stocks de l'API FS, mise en œuvre par les navigateurs de bureau. Sinon, je créerais une très mince couche d'abstraction.
Merci pour vos commentaires, on dirait malheureusement que je n'aurai aucune autre alternative. Il est mal que je dois porter l'application à Phonegap, le WebSQL et WebServices, donc pas trivial ... craint que je ne trouve pas de manière pure HTML5 de faire cela. Mais je devais essayer d'appeler la communauté.
Je ne comprends pas bien pourquoi vous devez le porter. Tout ce dont vous avez besoin est une simple couche d'abstraction pour PhoneGap et l'API du système de fichiers HTML5. Je concevrais cette couche de manière plutôt élevée et ne pas essayer de résumer l'ensemble de l'API FS.
Je dois porter mon application HTML5 actuelle déjà en production depuis plus de 6 mois à PhoneGap, puis commencer le développement de cette phase du projet.
Ah maintenant je l'obtiens. J'ai mal interprété le titre de la question. J'étais sous l'hypothèse que vous avez déjà du projet téléphonique.
À l'époque HTML5 suffisait, maintenant qu'il est nécessaire de répondre à des exigences très spécifiques, il est nécessaire d'accéder à plus de ressources que celles disponibles dans HTML5.
aléatoire cependant, feuille de sprite? ferait un seul fichier et minimiserait les demandes p>
Bienvenue dans le débordement de la pile! Pouvez-vous élaborer votre réponse s'il vous plaît et donnez plus d'informations sur la façon de le faire et des avantages qu'il apporte?
J'ai vraiment pensé à cela. Cependant, il est nécessaire de référencer les images par nom et il n'est pas facile de les regrouper.
La solution va passer à un port de l'application HTML5 à une application PhoneGap à l'aide de l'API de fichier. P>
HTML5 Différentes implémentations est la raison de cette décision. Étant donné que AppCache est très limité dans la plupart des navigateurs mobiles, ainsi que le manque de soutien de l'API du système de fichiers. Le fait que vous puissiez uniquement stocker de 16 à 52 Mo sur les navigateurs mobiles est un facteur limitant d'une application Web HTML5 nécessitant de grandes quantités de données stockées localement (disponible hors ligne). P>
Je suis curieux si vous avez atteint votre objet stockant des milliers d'images sur un périphérique, avec une application HTML5 Cordova, à l'aide de l'API de fichier. Et si oui, si vous avez des ressources qui ont aidé. Je suis essentiellement dans la même situation.
Bonjour Brad, à la fin, j'ai créé un zip et décompressez plusieurs images. Hundreads est correct, mais des milliers n'est pas très facile à gérer. C'est possible, ce n'est tout simplement pas très gentil.
Ah oui, notre application IOS natif utilise des actifs zippés, a du sens.
Hey @Atronaut Avez-vous essayé le github.com/chrisben/imgcache.js plugin? Toute conclusion sur le soutien de 40 000 images avec Cordoue WebApp?
Que diriez-vous d'exécuter un serveur Web local qui ne peut accepter que les connexions locales? Dans Apache, quelque chose comme "Autoriser à partir de 127.0.0.1" dans le fichier de configuration devrait faire le tour. Utilisation d'un serveur Web local Wold vous permet de contourner toutes les limitations HTML. P>
Hum c'est quelque chose que je n'avais pas pensé à ... Mais pouvez-vous exécuter un serveur Web local sur une tablette iPad ou Android? Malade essayer de creuser cela un bit Depper, également malade de voir comment gérer cela sur le côté du client
Et aussi il y a la question de la mise à jour du serveur Web local avec de nouvelles images ... Nature et une option intéressante pour enquêter.
Vous pouvez simplement le stocker dans votre base de données SQLite. Vous pouvez ajouter un champ de plus (colonne) à votre table de détail du produit. p>
Vous pouvez stocker l'image en format BLOB ou au format BASE64. (dans votre base de données). p>
Utiliser PhoneGap Vous pouvez facilement accéder à votre base de données et à différentes tables de votre DB. p>
Pour plus de performances et pour sauver la bande passante: Ce que vous pouvez faire, c'est que vous pouvez appliquer une chargement paresseux d'images. Lorsque vous téléchargez une nouvelle image, stockez simplement la base de données. p>
De cette façon, vous pouvez éviter les opérations d'E / S et également si vous utilisez MVC, alors dans l'objet de votre produit (classe modale), vous aurez également un objet d'image. p>
J'espère que cette suggestion fonctionne pour vous :) p>
Pourquoi avez-vous besoin de sauvegarder toutes les images 40K? Les limitations que vous avez décrites sont là pour une raison - afin que les applications ne produisent pas le stockage d'un périphérique. Essayez de déformer la liste de manière dynamique, en fonction de ce que l'utilisateur a besoin i> pour voir hors ligne.
C'est un catalogue de produits Chaque produit dispose d'une image de 43 000 produits. C'est pourquoi j'ai besoin d'avoir les images 40K, question mise à jour pour refléter l'exigence.
C'est une idée horrible. Vous devez revenir à votre client et découvrir ce que les meilleurs vendeurs sont et cache ces images dans l'application. Sinon, chargez les images à distance si nécessaire.
@Simonmacdonald Tous les produits doivent être disponibles en mode hors connexion, c'est-à-dire le défi, il s'agit d'une application HTML5 qui vous permet d'effectuer des commandes hors ligne et de les envoyer une fois que vous avez une connexion. L'application doit fonctionner en mode hors connexion. L'application est déjà implémentée, seul le catalogue d'images manquait.