Posté par Spack .
En réponse à la dépêche Firefox OS est lancé.
Évalué à 4.
Dernière modification le 08 août 2013 à 00:53.
La documentation n'est pas facile à trouver et pas très claire pour un néophyte comme moi. Donc il semblerait que pour stocker un fichier sur la carte SD, il faille utiliser Device Storage API (réservé aux applications privilégiées).
Un Blob ne permet pas grand chose pour la manipulation des fichiers. Il faut donc trouver un truc un peu plus C-Like, FileHandle API, mais ça se complique car avant d'avoir un fichier il faut contacter la base de données de l'application via IndexedDB API.
Je me lance avec le code suivant :
constDB_NAME="MyDatabase";constFILE_NAME="example.txt";// Interrogation de la base.varidbReq=indexedDB.open(DB_NAME);idbReq.onsuccess=function(event){vardb=event.target.result;// Création d'un nouveau fichier.varhandleReq=db.mozCreateFileHandle(FILE_NAME,"binary");handleReq.onsuccess=function(event){varhandle=event.target.result;// Pour modifier le fichier, on passe par un LockedFile.lf=handle.open("readwrite");writeFile(lf);lf.flush()// Maintenant que le fichier est modifié, on peut le stocker.// getFile() retourne un objet File dérivé de Blob que l'on peut stocker.handle.getFile().onsuccess=function(event){varfile=event.target.result;storeFile(file);};};};// Manipulation du fichier.functionwriteFile(lf){lf.write("This is an apple.");lf.location=9;lf.write(" sam");}// Stockage.functionstoreFile(blob){// navigator est fournit par l'objet window.varsdcard=navigator.getDeviceStorage("sdcard");varrequest=sdcard.addNamed(blob,FILE_NAME);request.onsuccess=function(event){varname=event.target.result;console.log("File '"+name+"' successfully wrote on the sdcard.");};request.onerror=function(event){console.warn("Unable to write file: "+this.error);};}
Je ne sais pas si ce code est correct et la documentation n'aide pas.
[^] # Re: Liberté ?
Posté par Spack . En réponse à la dépêche Firefox OS est lancé. Évalué à 4. Dernière modification le 08 août 2013 à 00:53.
La documentation n'est pas facile à trouver et pas très claire pour un néophyte comme moi. Donc il semblerait que pour stocker un fichier sur la carte SD, il faille utiliser Device Storage API (réservé aux applications privilégiées).
Un Blob ne permet pas grand chose pour la manipulation des fichiers. Il faut donc trouver un truc un peu plus C-Like, FileHandle API, mais ça se complique car avant d'avoir un fichier il faut contacter la base de données de l'application via IndexedDB API.
Je me lance avec le code suivant :
Je ne sais pas si ce code est correct et la documentation n'aide pas.