Domanda

Ho un sito basato su PHP in cui consentiamo agli utenti di caricare un file di testo separato da virgole di dati da importare da alcuni script lato server. Tuttavia, a volte è necessario regolare l'ordine delle colonne dei dati caricati e sarebbe estremamente utile se potessimo identificare le colonne nel file CSV prima del caricamento.

L'unico modo in cui mi viene in mente di accedere all'I / O del file locale è con un plug-in Java o uno script Flash incorporato e preferirei di gran lunga quest'ultimo. Esiste un modo in Flash per selezionare un file di testo sul disco rigido locale e quindi utilizzare ActionScript per esaminare solo la prima riga (che corrisponde alle intestazioni di colonna, in questo esempio)?

A volte questi file possono essere > 100 MB, quindi caricando tutto in memoria e quindi buttando via tutto tranne la prima riga probabilmente non funzionerebbe in modo efficiente, quindi mi chiedo se ci sia sintassi in ActionScript per limitare la quantità dei dati letti alla volta.

È stato utile?

Soluzione

I filmati Flash non hanno accesso al file system locale, tranne per il caricamento di un file sul server.

Penso che le tue opzioni siano:

  1. Elabora la classe sul lato client con Java (banale), usando un'applet. Tuttavia, come giustamente asserisci, l'utente dovrebbe concedere le autorizzazioni all'applet.
  2. Fornisci una piccola applicazione lato client scritta con Adobe Air, usando il API del file system .

Altri suggerimenti

Non potresti semplicemente usare PHP per afferrare la prima riga del tuo file CSV e quindi alimentare quella linea di dati per il flash?

Potrei sbagliarmi qui, ma sembra che la persona che ha posto questa domanda abbia fatto qualcosa di simile in tal senso con il suo codice PHP

Utilizzo di PHP per prendere la prima riga di un file CSV e creare una tabella MySQL con i dati

La versione corrente di Flash Player è in grado di selezionare solo un file da caricare su un server, richiedendo che tutta l'elaborazione sia lato server. La versione successiva del lettore, tuttavia, Flash 10 può leggere i file locali senza effettuare il round trip a un server.

Non ho usato questa funzionalità da solo (ancora), quindi non sono sicuro che sia possibile leggere solo una parte del file, ma che diventa meno problematico se è tutto locale.

Flash 10 è attualmente in una sorta di beta pre-release, ma presto uscirà, credo.

EDIT: Presto in effetti, ho appena visto questo nel mio lettore di feed

Flash Player 10, l'attuale versione di spedizione (appena rilasciata 2 giorni fa), consente di accedere ai file locali. Puoi trovare un esempio qui:

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

Hoewver, devi caricare l'intero file.

Se si utilizza un file SWF in esecuzione in Adobe AIR, è possibile leggere solo la prima riga (ha API di file più avanzate).

La migliore soluzione è probabilmente quella di creare un'API PHP che restituisca solo la prima riga di dati.

camere microfono

mesh@adobe.com

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top