Sto utilizzando il caricamento di file nella mia applicazione Web utilizzando il tag html <input type="file" />
. La mia funzionalità funziona bene con la scelta di un file dal selettore file e l'invio del file, tuttavia ora voglio caricare un file su trascinamento eventi, ovvero l'utente trascina un file da qualche posizione sul suo computer e quando lo rilascia in un particolare sezione nella mia pagina web, il file inizia a caricare.Caricamento file con trascinamento
Fino ad ora sono riuscito a leggere i file dall'evento goccia a
function drop(evt)
{
evt.stopPropogation();
evt.preventDefault();
if (containsFiles(evt))
{
var files = evt.dataTransfer.files;
var count = files.length;
// Only call the handler if 1 or more files was dropped.
if (count > 0)
// upload files
}
}
}
ma come faccio a caricare i file? Non posso modificare il valore del tipo di input = file per motivi di sicurezza. Quindi cosa posso fare per passare questi file al mio servlet?
uno sguardo al http://blueimp.github.io/jQuery-File-Upload/ –
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Submitting_forms_and_uploading_files –
Oppure, se stai cercando una libreria cross-browser ben supportata che faccia tutto questo per te, dai un'occhiata a [Fine Uploader] (http://fineuploader.com). Divulgazione completa: mantengo Fine Uploader. –