6

Я создал файл 'log.txt' по FileSystem 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); 

И не в полной мере понять его структуру. Есть ли способ изучить этот файл , например, из проводника Windows и посмотреть его в файловой системе?

+1

Файловая система HTML5 изолирована песочницей: нет простого доступа к ней из Windows. Это функция безопасности, предотвращающая атаку агрессивного кода файловой системы хоста. –

+0

И я даже не могу установить src тега скрипта в этот файл ??? –

+0

Ответ нет, и по уважительным причинам. Более полный ответ с причинами объясняется в моем ответе здесь: http://stackoverflow.com/a/19281109/2567232 – PhilNicholas

ответ

3

Сортировка, API файловой системы не шифрует данные, хранящиеся локально. Однако он меняет соглашения об именах файлов. Таким образом, вы можете назвать его log.txt, но если вы сориентируете, где хранится файл файловой системы API, вы, вероятно, найдете его под произвольным произвольно созданным именем файла, например «00010», или в случайном каталоге типа «24/00123».

В любом случае, вы можете открыть каждый файл в текстовом редакторе - если в вашем файле был написан текст, вы сможете просмотреть его как таковой. Или, если вы написали JSON в API файловой системы, он был бы в текстовом формате, доступном для чтения, когда вы откроете его в текстовом редакторе.

В Windows 7, с Chrome он находится здесь:

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

Если вы хотите узнать, где он хранится с помощью Chrome на других ОС см this post

0

лог-файлы, которые конечный пользователь или сопровождающий может захотеть увидеть, должен быть сохранен где-то в обычной файловой системе. Хотя проверенный ответ подсказывает, как найти их, когда используется API HTML5, это местоположение может быть изменено и затруднительно найти.

Лучшим решением является выбор пользователем каталога для файлов журналов (и, возможно, других файлов) при установке приложения с использованием chrome.fileSystem.chooseEntry, а затем сохранить эту запись и сохранить ее в локальном хранилище, чтобы она могут быть повторно использованы при последующих запусках.

3

Существует еще более простой способ. На хром, посетите эти URL.
Для http, это "filesystem:http://"+location.host+"/persistent/".
Для https это "filesystem:https://"+location.host+"/persistent/".