Fork me on GitHub

Pagine

lunedì 3 giugno 2013

PhoneGap: effettuare il download di un file

HTML5 ha in parte rivoluzionato il modo in cui le webapp si relazionano con le piattaforme sulle quali vengono eseguite.

Filesystem API ne è un esempio: permette a una web app di creare, leggere, navigare e scrivere in una sezione sandbox del file system locale dell'utente.

Una web app può richiedere l'accesso al filesystem utilizzando il metodo window.requestFileSystem(): quando viene richiamato per la prima volta, viene creato un nuovo filesystem esclusivo per l'applicazione.


E 'importante ricordare che il filesystem è sandboxed: una applicazione web non può quindi accedere ai file di un altro app e non è possibile leggere o scrivere file in una cartella arbitraria sul disco rigido dell'utente.

Utilizzando window.requestFileSystem e l'oggetto FileTransfer di PhoneGap possiamo scrivere una breve funzione che ci permetta di scaricare un file da un server remoto e salvarlo sul filesystem del PC/Dispositivo:



L'utilizzo è semplice: va richiamata passando l'url da dove scaricare il file, il nome che si vuole assegnare al file nel momento del salvataggio e una funzione di callBack che verrà richiamata ad operazione terminata e alla quale verrà passato il path locale del file.

Ad esempio:

downloadFile("http://www.andreafortuna.org/robots.txt>", "robots.txt",function(filepath){
   alert("Download terminato, il path e' " + filepath);
});