2016-11-20 5 views
2

Я создаю приложение с помощью backbone js, которое при отправке данные формы хранятся в txt-файле. он работает правильно в окнах. вот мой код:Сохраните данные формы в мобильном приложении

var pom = document.createElement('a'); 
pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(mytext)); 
pom.setAttribute('download', filename); 
pom.style.display = 'none'; 
document.body.appendChild(pom); 
pom.click(); 
document.body.removeChild(pom); 

я создал APK по Кордова. Когда я устанавливаю APK на свой мобильный телефон и отправляю форму, txt-файл не сохраняется на моем мобильном телефоне. В чем проблема? есть ли способ сохранить данные формы в моем приложении на мобильном устройстве?

ответ

0

Для сохранения документов на устройство вам необходимо использовать плагин File.

https://github.com/apache/cordova-plugin-file

Обратите внимание на различия между ОС, в отношении которых для хранения файлов.

Некоторых примеры код ниже:

function writeToFile(fileName, data) { 
window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory, function (directoryEntry) { 
    directoryEntry.getFile(fileName, { create: true }, function (fileEntry) { 
     fileEntry.createWriter(function (fileWriter) { 
      fileWriter.onwriteend = function (e) { 
       // for real-world usage, you might consider passing a success callback 
       console.log('Write of file "' + fileName + '" completed.'); 
      }; 
      fileWriter.onerror = function (e) { 
       // you could hook this up with our global error handler, or pass in an error callback 
       console.log('Write failed: ' + e.toString()); 
      }; 
      var blob = new Blob([data], { type: 'text/plain' }); 
      fileWriter.write(blob); 
     }, errorHandler.bind(null, fileName)); 
    }, errorHandler.bind(null, fileName)); 
}, errorHandler.bind(null, fileName)); 
} 

Это создает файл затем записывает переменные данные в файл. и дает ему имя файла, которое я хочу ему дать.

Смежные вопросы