質問編集履歴

2 内容、プログラムの追加

k-ichigo

k-ichigo score 5

2017/12/22 12:00  投稿

Monaca iOSでのファイル作成、共有について
###前提・実現したいこと
Monacaを用いたアプリ作成で、iphone,ipad上でcsvを作成してdocuments等を利用してPCにファイルを落としたい。
iphone,ipad上で作成したファイルを開く予定はありません。
###発生している問題
Monaca docsの「ファイル操作プラグイン」に載っていた例から作ってみたのですが、デバッガーで確認すると、作成後にアラートのような形で出力したデータが表示されるだけで、documents等を開いてもありません。
Monaca docsの「ファイル操作プラグイン」に載っていた例から作ってみたのですが、デバッガーで作成したところ、作成はされているようなのですが、それを他のアプリ、もしくはMonaca内で確認する方法がわかりません。
以下がそのページになります。
[https://docs.monaca.io/ja/reference/cordova_3.5/file/](http://docs.monaca.io/ja/reference/cordova_3.5/file/)
###ソースコード
```JavaScript
var blob = new Blob([ bom, content ], { "type" : "sample/csv" });
if(monaca.isIOS){
   window.resolveLocalFileSystemURL(cordova.file.syncedDataDirectory, function (dirEntry) {
       var isAppend = true;
       createFile(dirEntry,"sample.csv", isAppend,blob);
function wrt(content){
   var blob = new Blob([ bom, content ], { "type" : "sample/csv" });
   if(monaca.isIOS){
       window.resolveLocalFileSystemURL(cordova.file.syncedDataDirectory, function
       (dirEntry) {
           var isAppend = true;
           createFile(dirEntry,"sample.csv", isAppend,blob);
       }, Error);
   }
}
function createFile(dirEntry, fileName, isAppend,dataObj) {
   // Creates a new file or returns the file if it already exists.
   dirEntry.getFile(fileName, {create: true, exclusive: false}, function(fileEntry) {
       writeFile(fileEntry, dataObj, isAppend);
   }, Error);
}
function writeFile(fileEntry, dataObj, isAppend) {
   // Create a FileWriter object for our FileEntry (log.txt).
   fileEntry.createWriter(function (fileWriter) {
       fileWriter.onwriteend = function() {
           console.log("Successful file write...");
           readFile(fileEntry);
       };
       fileWriter.onerror = function (e) {
           console.log("Failed file read: " + e.toString());
       };
       // If we are appending data to file, go to the end of the file.
       if (isAppend) {
           try {
               fileWriter.seek(fileWriter.length);
           }
           catch (e) {
               console.log("file doesn't exist!");
           }
       }
       fileWriter.write(dataObj);
   });
}
function readFile(fileEntry) {
   fileEntry.file(function (file) {
       var reader = new FileReader();
       reader.onloadend = function() {
           console.log("Successful file read: ");
           log(this.result);
           alert(fileEntry.fullPath + ": " + this.result);
       };
       reader.readAsText(file);
   }, Error);
}
```
###質問
現状としてプログラムに問題があるのか、何かipadの設定などプログラム以外に要因があるのか、アプリ作成自体初めてのことなので細かい部分がよくわかっていません。
プログラムの修正箇所・もしくは確認方法について、どちらか片方でもいいので、教えて頂けないでしょうか?  
よろしくお願いします。
  • JavaScript

    24349 questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • AngularJS

    624 questions

    AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

  • Monaca

    1238 questions

    「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

1 参考にしたページのURL追加

k-ichigo

k-ichigo score 5

2017/12/21 18:57  投稿

Monaca iOSでのファイル作成、共有について
###前提・実現したいこと
Monacaを用いたアプリ作成で、iphone,ipad上でcsvを作成してdocuments等を利用してPCにファイルを落としたい。
iphone,ipad上で作成したファイルを開く予定はありません。
###発生している問題
Monaca docsの「ファイル操作API」に載っていた例から作ってみたのですが、デバッガーで確認すると、作成後にアラートのような形で出力したデータが表示されるだけで、documents等を開いてもありません。
Monaca docsの「ファイル操作プラグイン」に載っていた例から作ってみたのですが、デバッガーで確認すると、作成後にアラートのような形で出力したデータが表示されるだけで、documents等を開いてもありません。
以下がそのページになります。
[https://docs.monaca.io/ja/reference/cordova_3.5/file/](http://docs.monaca.io/ja/reference/cordova_3.5/file/)
###ソースコード
```JavaScript
var blob = new Blob([ bom, content ], { "type" : "sample/csv" });
if(monaca.isIOS){
   window.resolveLocalFileSystemURL(cordova.file.syncedDataDirectory, function (dirEntry) {
       var isAppend = true;
       createFile(dirEntry,"sample.csv", isAppend,blob);
   }, Error);
}
```
###質問
現状としてプログラムに問題があるのか、何かipadの設定などプログラム以外に要因があるのか、アプリ作成自体初めてのことなので細かい部分がよくわかっていません。
よろしくお願いします。
  • JavaScript

    24349 questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • AngularJS

    624 questions

    AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

  • Monaca

    1238 questions

    「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る