Question

J'ai un site basé sur PHP dans lequel nous autorisons les utilisateurs à importer un fichier texte de données, séparé par des virgules, à importer par certains scripts côté serveur. Cependant, nous devons parfois ajuster l'ordre des colonnes des données téléchargées. Il serait extrêmement utile d'identifier les colonnes du fichier CSV avant que le téléchargement n'ait lieu.

Le seul moyen auquel je peux penser pour accéder aux E / S de fichiers locaux est d'utiliser un plugin Java ou un script Flash intégré, et je préférerais de loin le dernier. Existe-t-il un moyen dans Flash de sélectionner un fichier texte sur le disque dur local, puis d’utiliser ActionScript pour examiner uniquement la première ligne (correspondant aux en-têtes de colonne, dans cet exemple)?

Parfois, ces fichiers peuvent contenir plus de 100 Mo. Par conséquent, le fait de tout charger en mémoire, puis de tout rejeter sauf la première ligne ne fonctionnerait probablement pas efficacement. Je me demande donc s'il existe une syntaxe dans ActionScript pour en limiter le nombre. des données lues à la fois.

Était-ce utile?

La solution

Les animations Flash n'ont pas accès au système de fichiers local, sauf pour effectuer un téléchargement de fichier sur le serveur.

Je pense que vos options sont les suivantes:

  1. Traitez la classe côté client avec Java (trivial), en utilisant une applet. Cependant, comme vous l'affirmez à juste titre, l'utilisateur aurait besoin d'accorder des autorisations à l'applet.
  2. Fournissez une petite application côté client écrite avec Adobe Air, à l'aide de API de système de fichiers .

Autres conseils

Ne pourriez-vous pas simplement utiliser PHP pour saisir la première ligne de votre fichier CSV puis alimenter cette ligne de données en flash?

Je peux me tromper complètement ici, mais il semble que la personne qui pose cette question a fait quelque chose de similaire à cet effet avec son code PHP

Utiliser PHP pour prendre la première ligne d'un fichier CSV et créer une table MySQL avec les données

La version actuelle du lecteur Flash ne peut sélectionner qu'un fichier à télécharger sur un serveur, ce qui nécessite que tous les traitements soient effectués côté serveur. Cependant, la prochaine version du lecteur, Flash 10 peut lire les fichiers locaux sans aller-retour. à un serveur.

Comme je n'ai pas (encore) utilisé cette fonctionnalité moi-même, je ne sais pas s'il est possible de lire une partie seulement du fichier, mais cela devient moins problématique si tout est local.

Flash 10 est actuellement dans une sorte de version bêta de la pré-version, mais il va bientôt sortir, je pense.

EDIT: Bientôt, en effet, je viens de voir ceci dans mon lecteur de flux RSS

Flash Player 10, la version d’expédition actuelle (publiée il ya 2 jours), vous permet d’accéder aux fichiers locaux. Vous pouvez trouver un exemple ici:

http://www.mikechambers.com/blog/2008/08/20/reading-and-writing-local-files-in-flash-player-10/

Hoewver, vous devez charger tout le fichier.

Si vous utilisez un fichier SWF exécuté dans Adobe AIR, vous ne pouvez lire que la première ligne (il contient des API de fichier plus avancées).

La meilleure solution consiste probablement à créer une API PHP ne renvoyant que la première ligne de données.

chambres de micro

mesh@adobe.com

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top