2016-10-27 16 views
0

Я использую Ionic framework, который в его сердце является AngularJS, и я пытаюсь сохранить файл в хранилище устройства. Этот код работает в создании PDF:Uncaught TypeError: Object # <Object> не имеет метода 'writeFile'

return $q(function(resolve, reject) { 
      var dd = createDocumentDefinition(invoice); 
      var pdf = pdfMake.createPdf(dd); 

      pdf.getBase64(function (output) { 
       resolve(base64ToUint8Array(output)); 
      }); 
     }); 

Теперь я пытаюсь сохранить PDF с помощью:

return $q(function (resolve, reject) { 
       var dd = createDocumentDefinition(invoice); 
       var pdf = pdfMake.createPdf(dd); 

       //For download Android 
       var pdf = pdfMake.createPdf(dd).getBuffer(function (buffer) { 

       var utf8 = new Uint8Array(buffer); // Convert to UTF-8... 

       binaryArray = utf8.buffer; // Convert to Binary... 


       $cordovaFile.writeFile(cordova.file.externalApplicationStorageDirectory, "example.pdf", binaryArray, true) //This saves to device storage 

       .then(function (success) { 

       console.log("pdf created"); 

       }, function (error) { 

       console.log("error"); 

       }); 

       }); 
      }); 

Основное направление первые несколько строк преобразования, где я считаю, что проблема приходит с, но я, кажется, не быть в состоянии исправить это, я Keet получать всякий раз, когда устройство пытается сохранить:

Uncaught TypeError: Object #<Object> has no method 'writeFile' 

Что такое решение, пожалуйста?

ответ

0

Вы уверены, что установлен плагин file cordova? Имейте в виду, что вам нужно установить файловый плагин для использования $ cordovaFile. Выполните следующую команду в каталоге проекта ...

cordova plugin add cordova-plugin-file 

Иногда вам нужно будет удалить и заново добавить платформу, которую вы строите против при добавлении плагинов. Если добавить плагин и до сих пор есть проблемы пытаются удалить, а затем добавить на платформу

cordova platform rm android 
ionic platform add android 

http://ngcordova.com/docs/plugins/file/

+0

Да, я сделал все это. – Olli

+0

Можете ли вы приостановить отладчик в этой строке и подтвердить объект, на который ссылается $ cordovaFile? –

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