Anteprima caricamento file HTML con Javascript

Voglio mostrare un tipo di ANTEPRIMA per un post, quindi ho preso i dettagli da JS

ma il problema arriva quando si tratta di <input type="file" , non dà il percorso completo al file

Es: se lo faccio

 $("#image").val(); 

dà solo “Sunset.jpg” non C: \ Documents and Settings \ All Users …. \ Sunset.jpg

qualche idea su come ottenere quel valore di dettaglio?

Sebbene, come altri hanno già sottolineato, non è ansible imparare il percorso completo del file in JavaScript, forse un approccio completamente diverso al problema potrebbe comunque funzionare per te.

Puoi caricare la foto automaticamente non appena il visitatore l’ha prelevata (il comportamento che vedi in GMail, tra le altre applicazioni), quindi risiede sul tuo server anche se il visitatore continua a interagire con la tua pagina. A quel punto, mostrare un’anteprima è semplice come servirne uno dalla propria copia (ora sul lato server) dell’immagine.

Questo se per motivi di sicurezza, quindi non puoi leggere i file dal sistema degli utenti usando JavaScript.

Se vi capita di trovare una soluzione alternativa, probabilmente ci saranno patch di sicurezza rilasciate dai venditori di browser più presto che dopo. Lo so perché nelle versioni precedenti, se IE, era ansible leggere il percorso completo e quindi visualizzare un’anteprima, almeno se il file era un’immagine. L’ho usato in un’interfaccia utente CMS, ma ovviamente quell’ottima funzionalità è stata rovinata da un rilascio del servizio IE: – /

In generale, il controllo del caricamento dei file è in qualche modo una “scatola nera” per motivi di sicurezza. Hai solo un accesso molto limitato allo scripting e lo styling. Questo è così che non puoi snoop o caricare file senza che l’utente lo sappia, o così non puoi ingannare l’utente nel caricare file con un’interfaccia ingannevole.

Questo è ora ansible da Firefox 3.6 https://developer.mozilla.org/en/DOM/FileList

Anche se il codice che mostrano non sembra funzionare in Chrome, quindi suppongo che anche l’API JavaScript HTML5 per cose come questa debba ancora essere standardizzata.

Questa è una funzione di sicurezza. Non è ansible modificare o ottenere l’intero percorso in browser protetti, quindi ciò che si vuole fare, non può essere fatto. Se usi qualcosa come Flash, Silverlight o Java, allora dovrebbe essere relativamente facile.

Per quanto ne so, non c’è modo di fare ciò che vuoi fare in javascript. È un grosso problema di sicurezza: avere accesso al filesystem in un browser.

Ci sono alcuni plugin per il browser (java / flash / gears) che potrebbero permetterti di fare questo genere di cose. So che con gli ingranaggi puoi far scegliere all’utente un file – e aprirlo per leggere il contenuto usando JS.