Lecture d'un fichier local à l'aide de JavaScript HTML5 fichier api (hors site)
Je suis en train de travailler sur un site web qui seront emballés dans une .exe fichier. Le site va être utilisé uniquement en mode hors connexion. Maintenant, j'ai besoin d'analyser un local de document xml. Comment puis-je obtenir le handle de fichier pour un fichier local à l'aide de html5 fichier api?
EDIT: je ne veux pas utiliser <input...>
ou en faisant glisser le fichier dans le navigateur.
OriginalL'auteur user1324258 | 2013-08-15
Vous devez vous connecter pour publier un commentaire.
J'ai peur, j'ai peut-être le porteur de mauvaises nouvelles pour votre design: L'action que vous demandez expressément viole le modèle de sécurité tel que spécifié dans le Fichier API spec. Le client de la mise en œuvre de FileReader() doit faire en sorte que "tous les fichiers qui sont lus par FileReader objets ont d'abord été sélectionnés par l'utilisateur." (W3C Fichier API , 13. Les Considérations De Sécurité: http://www.w3.org/TR/FileAPI/#security-discussion).
Il serait un énorme risque de sécurité de navigateur scripts pourrait juste arbitrairement ouvrir et lire n'importe quel fichier à partir d'un chemin sans aucune interaction de l'utilisateur. Aucun navigateur n'fabricant de permettre un accès sans entrave à l'ensemble du système de fichiers comme ça.
Si votre script a vraiment besoin de ce fichier XML, vous allez ont de demander aux utilisateurs sur la manière d'accorder l'accès au navigateur, comme chaque navigateur empêchera votre code d'ouverture directement, sans action de l'utilisateur.
OriginalL'auteur PhilNicholas
Bien, techniquement, il est en effet un moyen, mais vous allez le (espérons-le) ont besoin de contourner les paramètres de sécurité du navigateur, et il est intrinsèquement dangereux, mais pas plus que n'importe quoi d'autre exigeant des emplacements des fichiers.
Cela dit...
Naturellement, j'ai gardé cette vague (et un peu moins orthodoxes) pour mes raisons, mais à condition d'avoir le contrôle nécessaire de l'environnement, c'est tout à fait possible.
OriginalL'auteur Algorath
Je rencontre le même problème ces jours-ci. J'ai besoin sur le site web d'afficher certaines données à chaque fois que je lance la page web. Les données doivent être adaptative à chaque lancement, automatiquement, donc je ne pense pas que @Augusto s 'lien pourrait résoudre votre problème.
Après l'essai de différentes façons (y compris la rédaction d'un local temporaire XLM ou fichier JSON), j'ai fini par me persuader que peut-être "en remplacement de" des "données" dans le fichier html peut être la façon la plus simple.
J'ai un modèle html, dans laquelle il y a une chaîne de caractères comme [des données]. Chaque fois que le lancement de la page web, [données] sera remplacé par des données réelles comme [1,2,3]. Donc en fait c'est le fichier qui est lancé.
Vous pouvez aller à entrez description du lien ici de voir comment la "remplacer" est fait. Bonne chance.
OriginalL'auteur ehfaafzv