Próbuję zapisać wiele plików do katalogu - w jednej operacji. Jeśli poprawnie zrozumiem, chrome fileSystem api documentation, powinno to być możliwe, gdy używam opcji openDirectory dla chrome.fileSystem.chooseEntry. Czy to jest nawet dozwolone?
Jednak dokumentacja jest bardzo minimalistyczna i również nie znalazłem żadnych przykładów za pośrednictwem google.Jak zapisywać wiele plików w aplikacji chrome
Więcej background:
Mam odpowiednie uprawnienia dostępu do katalogu, a także mieć uprawnienia do zapisu:
/*you need chrome >= Version 31.x [currently chrome beta]*/
"permissions": [
{"fileSystem": ["write", "directory"]}, "storage",
]
Wtedy pozostaje chrome.fileSystem.chooseEntry (opcje obiektów, funkcja zwrotna) i chrome.fileSystem.getWritableEntry (wpis, funkcja zwrotna), ale nie wiedziałem, czy te funkcje są nawet tym, czego chcę.
Oto jak pojedynczy plik mogą być zapisywane w systemie plików:
chrome.fileSystem.chooseEntry({type:"saveFile", suggestedName:"image.jpg"},
function(entry, array){
save(entry, blob); /*the blob was provided earlier*/
}
);
function save(fileEntry, content) {
fileEntry.createWriter(function(fileWriter) {
fileWriter.onwriteend = function(e) {
fileWriter.onwriteend = null;
fileWriter.truncate(content.size);
};
fileWriter.onerror = function(e) {
console.log('Write failed: ' + e.toString());
};
var blob = new Blob([content], {'type': 'image/jpeg'});
fileWriter.write(blob);
}, errorHandler);
}
Ale w jaki sposób można zaoszczędzić wiele plików, gdy używam chrome.fileSystem.chooseEntry ({type: „openDirectory” ..} lub robi openDirectory udzielić mi tylko do odczytu prawa?
Kontynuacja na http://stackoverflow.com/q/28710804/632951 – Pacerier