6

내가 파일 시스템 APIHTML5 파일 시스템 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); 

에 의해 파일 'log.txt에'를 만든 완벽 그 구조를 이해하지 않습니다. 이 파일을 탐색 할 방법이 있습니까? 예를 들어 Windows 탐색기의 을 파일 시스템에서 볼 수 있습니까?

+1

HTML5 FileSystem은 샌드 박스 처리되어 있습니다. Windows에서 쉽게 액세스 할 수있는 방법은 없습니다. 이것은 적대적인 코드가 호스트 파일 시스템을 공격하지 못하게하는 보안 기능입니다. –

+0

그리고 난이 파일에 스크립트 태그의 src를 설정할 수 없다. ??? –

+0

대답은 아니오이며 좋은 이유입니다. 이유에 대한보다 완전한 대답은 내 대답에 설명되어 있습니다. http://stackoverflow.com/a/19281109/2567232 – PhilNicholas

답변

3

일종의 File System API는 로컬에 저장된 데이터를 암호화하지 않습니다. 그러나 파일 명명 규칙을 변경합니다. 따라서 파일 이름을 log.txt으로 지정했을 수도 있지만 파일 시스템 API가 파일을 저장하는 위치를 알면 "00010"과 같이 임의로 임의로 생성 된 파일 이름이나 "24/00123"과 같은 임의의 디렉토리에서 찾을 수 있습니다.

어쨌든 텍스트 편집기에서 각 파일을 열 수 있습니다. 파일에 텍스트를 쓰면 해당 파일을 그대로 볼 수 있습니다. JSON을 파일 시스템 API에 작성했다면 텍스트 편집기에서 열 때 사람이 읽을 수있는 문자열 형식이됩니다. 윈도우 7에

, 크롬으로는 여기있다 :

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

당신이 다른 OS에 크롬을 통해 저장되는 곳을 찾으려면

가 최종 사용자 this post

0

로그 파일을 참조하시기 바랍니다 또는 유지자는 정상적인 파일 시스템에 어딘가에 저장되어 있는지를보고 싶어 할 수도 있습니다. 확인 된 답변에서 HTML5 API를 사용할 때 찾을 방법을 제안하지만이 위치는 변경 될 수 있으며 찾기가 번거로 롭습니다.

더 나은 해결책은 사용자가 응용 프로그램 설치시 chrome.fileSystem.chooseEntry를 사용하여 로그 파일 (및 기타 파일)의 디렉토리를 선택한 다음 해당 항목을 유지하고 로컬 저장소에 저장하도록하는 것입니다 후속 출시시 재사용 할 수 있습니다.

3

훨씬 간단한 방법이 있습니다. 크롬에서이 URL을 방문하십시오.
http의 경우 "filesystem:http://"+location.host+"/persistent/"입니다.
https의 경우 "filesystem:https://"+location.host+"/persistent/"입니다.

관련 문제