2016-10-27 6 views
0

私は心臓部がAngularJSであり、ファイルをデバイスのストレージに保存しようとしているIonicフレームワークを使用しています。このコードは、PDFファイルを作成するに動作します:Uncaught TypeError:オブジェクト#<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"); 

       }); 

       }); 
      }); 

私は問題が来ていると信じているメインエリア変換の最初の数行がありますデバイスを保存しようとするたびに取得するようになっています:

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

解決策は何ですか?

答えて

0

コードバファイルプラグインがインストールされていますか? $ 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で参照されるオブジェクトを確認できますか? –

関連する問題