6

ho creato il file 'log.txt' dal file system APIHTML5 FileSystem API

function initFS(grantedBytes) { 
    window.requestFileSystem(window.PERSISTENT, grantedBytes, function (filesystem) { 
     fs = filesystem; 

     fs.root.getFile('log.txt', { create: true, exclusive: true }, function (fileEntry) { 

      // fileEntry.isFile === true 
      // fileEntry.name == 'log.txt' 
      // fileEntry.fullPath == '/log.txt' 
      console.log(fileEntry.fullPath); 



     }, errorHandler); 
    }, errorHandler); 
} 

initFS(1024*1024); 

e non comprendere appieno la sua struttura. C'è un modo per esplorare questo file ad esempio da Windows Explorer e vederlo nel file system?

+1

HTML5 FileSystem è in modalità sandbox: non c'è un modo semplice per accedervi da Windows. Questa è una funzione di sicurezza che impedisce al codice ostile di attaccare il file system host. –

+0

E non riesco nemmeno a impostare src del tag script in questo file ??? –

+0

La risposta è no, e per buone ragioni. Una risposta più completa, con le ragioni, è spiegata nella mia risposta qui: http://stackoverflow.com/a/19281109/2567232 – PhilNicholas

risposta

3

Ordinamento, l'API del file system non crittografa i dati memorizzati localmente. Tuttavia, modifica le convenzioni di denominazione dei file. Quindi potresti averlo chiamato log.txt ma se fai un salto dove l'API del file system memorizza i file, probabilmente lo troverai sotto un nome di file arbitrario generato a caso come "00010" o in una directory casuale come "24/00123".

In ogni caso, è possibile aprire ciascun file in un editor di testo: se il file contiene del testo, sarà possibile visualizzarlo come tale. Oppure se hai scritto JSON sull'API del file system, sarebbe stato in formato di stringa leggibile dall'uomo quando l'hai aperto nell'editor di testo.

In Windows 7, con Chrome è trovato qui:

C:\Users\{user}\AppData\Local\Google\Chrome\User Data\Default\File System\ 

Se si vuole scoprire dove è memorizzato tramite Chrome su altri sistemi operativi si prega di vedere this post

0

file di registro che un utente finale o il maintainer potrebbe voler vedere dovrebbe essere memorizzato da qualche parte nel normale file system. Mentre la risposta verificata suggerisce come trovarli quando viene utilizzata l'API HTML5, questa posizione è soggetta a modifiche ed è problematica da trovare.

Una soluzione migliore è quella di avere all'utente di scegliere la directory per i file di log (e forse altri file) quando è installata l'applicazione, utilizzando chrome.fileSystem.chooseEntry, e quindi mantenere che l'ingresso e salvarlo nella memoria locale in modo da può essere riutilizzato nei successivi lanci.

3

C'è un modo ancora più semplice. Su Chrome, visita questi URL.
Per http, è "filesystem:http://"+location.host+"/persistent/".
Per https, è "filesystem:https://"+location.host+"/persistent/".