2016-08-05 6 views
0

chrome.fileSystem을 사용하여 사용자가 선택한 디렉토리 내에서 파일을 만들 수 있습니까? 선택한 항목이 전체 디렉토리에 대한 액세스 권한을 가지고 있으며 작성, 읽기, 삭제 작업을 수행 할 수 있습니까? 선택한 디렉토리 내의 파일 경로를 나열합니다.Chrome 파일 시스템을 사용하여 사용자가 선택한 디렉토리에 파일을 만듭니다.

chrome.fileSystem.chooseEntry({type: 'openDirectory'}, function(theEntry) { 
        if (!theEntry) { 
         output.textContent = 'No Directory selected.'; 
         return; 
        } 
        // use local storage to retain access to this file 
        chrome.storage.local.set({'chosenResultDir': chrome.fileSystem.retainEntry(theEntry)}); 
        ??? // writeNewFileTochosenResultDir(theEntry); // ????? 
        }); 

답변

2

chrome.fileSystem.chooseEntry 문서는 말한다 콜백 type: 'openDirectory'의 경우 분명 DirectoryEntryEntry, 수신, 그래서 당신은 파일을 만들 수 File API를 사용할 수 있습니다

chrome.fileSystem.chooseEntry({type: 'openDirectory'}, function(entry) { 
    entry.getFile('newfilename.txt', {create: true}, function(file) { 
     file.createWriter(function(writer) { 
      writer.write(new Blob(['hello'])); // async 
      writer.onwrite = function(e) { 
       writer.onwrite = null; 
       writer.truncate(writer.position); // in case we overwrite an exitsing file 
       console.log('Done', e); 
      }; 
     }, function(err) { 
      console.error(err); 
     }); 
    }, function(err) { 
     console.error(err); 
    }); 
}); 

의 manifest.json 미니를 엄마 권한 :

"permissions": [ 
    {"fileSystem": ["write", "directory"]} 
], 

고급 예제는 공식 Chrome sample app repository에서 사용할 수 있습니다.

0

예, 완전 매니페스트 권한으로 web filesystem api을 사용하여 선택한 폴더의 내용에 액세스 할 수 있습니다 : { "파일 시스템": [ "디렉토리", "쓰기"]}