Запись в файл из упакованного приложения Chrome

Ниже приведен код, с помощью которого я пытаюсь записать простой текстовый файл из приложения Chrome.

После вызова createWriter ничего не происходит. Не могу заставить его работать, любой вклад в это приветствуется.

chrome.fileSystem.chooseEntry({type: 'saveFile'}, 
 function(writableFileEntry) {
  writableFileEntry.createWriter(function(writer) {
    writer.onwriteend = function(e){
      console.log("save completed!!");
    };
    writer.onerror = function(e){
        console.log("save failed!!");
    };
    writer.write(new Blob(["Hello World!!!"],{type: 'text/plain'})); 
  }, errorHandler);
});

Mainifest.json

{
 "name": "FileIO",
 "version": "1.0",
 "manifest_version": 2,
 "minimum_chrome_version": "23",
 "app": {
 "background": {
 "scripts": ["background.js", "myscript.js"]
 }
 },
 "icons": {
 "128": "icon.png"
 },
 "permissions": [
 "fileSystem",
  {"fileSystem" : ["write","retainEntries", "directory"] }
 ],
 "file_handlers": {
    "text": {
      "types": [
          "text/*"
      ]
    }
  }
}

person Karthikkumar    schedule 15.12.2015    source источник
comment
Вы уверены, что он вызван? Как вы пытались отладить это?   -  person Xan    schedule 15.12.2015
comment
Каковы ваши разрешения манифеста?   -  person Supersharp    schedule 15.12.2015
comment
Супершарп прав. Для вопросов такого типа всегда публикуйте весь манифест в дополнение к коду JavaScript.   -  person Marc Rochkind    schedule 15.12.2015
comment
@Xan: да, выбор записи вызывается, когда я вижу диалоговое окно выбора файла, после того, как я выбираю файл, я могу нажать точку останова в строке 3 (writableFileEntry.createWr.........). когда вызывается createWriter, ничего не происходит.... точка останова в write.write(lin10) никогда не срабатывает.   -  person Karthikkumar    schedule 15.12.2015
comment
Так что же тогда говорит errorHandler?   -  person Xan    schedule 15.12.2015
comment
@Supersharp Я приложил манифест по вашему запросу.   -  person Karthikkumar    schedule 15.12.2015
comment
@Xan: после вызова createWrite ничего не происходит, я не могу попасть в точки останова, поэтому я не могу это проверить.   -  person Karthikkumar    schedule 15.12.2015
comment
Где и как определяется ваш errorHandler (из строки 11)?   -  person Xan    schedule 15.12.2015
comment
@Xan: Да, проблема была в неправильном определении функции errorHandler. Спасибо!!   -  person Karthikkumar    schedule 15.12.2015


Ответы (1)


Функция errorHandler была определена вне области действия и вызывала проблему, перемещение функции errorHandler внутрь области действия устранило проблему! Спасибо Xan за помощь в устранении неполадок.

person Karthikkumar    schedule 15.12.2015