Domanda

È possibile leggere il contenuto di un file che è stato selezionato con un controllo di input del file? Vorrei fare qualcosa del tipo:

<input type="file" id="fileInput" onblur="readFile(this)"/>

<script language="javascript">
   function readFile(file) {
     document.write(file);
   }
</script>

È possibile qualcosa del genere? o il caricamento del file invia semplicemente il file al server.

È stato utile?

Soluzione

È possibile in Firefox , ma non è standardizzato, quindi non è possibile portabilmente tra i browser (ad esempio, WebKit non lo supporta). Probabilmente la soluzione migliore sarebbe quella di caricare il file sul server, quindi scaricarlo di nuovo utilizzando un XMLHTTPRequest .

Altri suggerimenti

È possibile se si utilizza HTA (applicazione terminale ipertestuale, consultare http://msdn.microsoft.com/en-us/library/ms536496 (VS.85) aspx ). Se lo fai, sei legato a Internet Explorer, ma sei libero di accedere ai file, al registro, ecc. Ci sono (ovviamente) problemi di sicurezza.

Probabilmente non è possibile in molti browser. Cosa accadrebbe se dessimo a javascript arbitrario la possibilità di leggere un file arbitrario nel filesystem, usando le credenziali dell'utente? COSE BRUTTE. JavaScript dannoso potrebbe facilmente prendere i dati dei file e pubblicarli di nuovo sul server, nascondendo silenziosamente tutti i tuoi file in background.

Dubito che ciò sia possibile e lo sconsiglio vivamente.

Se deve essere esclusivamente lato client, perché stai usando un'applicazione web? Gli unici file che è possibile visualizzare sono di testo semplice, per i quali esistono molti modi più semplici di visualizzare il contenuto.

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