Могу ли я сохранить файл в пользовательском месте (/home/Users/user1/
) с именем file1.txt
.chrome.filesystem сохранить файл без указания местоположения
У меня есть этот код:
chrome.fileSystem.chooseEntry({type:'openDirectory'}, function(entry) {
chrome.fileSystem.getWritableEntry(entry, function(entry) {
entry.getFile('file1.txt', {create:true}, function(entry) {
entry.createWriter(function(writer) {
writer.write(new Blob(['Lorem'], {type: 'text/plain'}));
});
});
});
});
С помощью этого кода я получаю приглашение, поэтому мне нужно выбрать директорию, но я хочу без этого, я хочу объявить местоположение каталога в настройках.
Любое решение для этого?
EDIT
Согласно общепринятому ответа от @Xan:
// set location
$('#location_field').on('click', function(){
chrome.fileSystem.chooseEntry({type:'openDirectory'}, function(entry) {
chrome.storage.sync.set({'print_location': chrome.fileSystem.retainEntry(entry)});
});
});
// get location
var print_location = null;
chrome.storage.sync.get({
print_location: null
}, function(items){
chrome.fileSystem.restoreEntry(items.print_location, function(entry){
print_location = entry;
});
});
// save file
chrome.fileSystem.getWritableEntry(print_location, function(entry) {
entry.getFile('file1.txt', {create:true}, function(entry) {
entry.createWriter(function(writer) {
writer.write(new Blob(['Lorem'], {type: 'text/plain'}));
});
});
});
Несвязанный, но вы, вероятно, не должны иметь все свои аргументы с именем 'entry'. – Teepeemm
Согласен, это был пример, который я нашел, поэтому я использовал его, чтобы проверить, не работает ли он. –
Быстрый запрос: не могли бы вы перевести решение в отдельный ответ? Было бы полезно сохранить формат Q & A (и вы получите дополнительный ответ таким образом!) – Xan