質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

Q&A

1回答

3426閲覧

iphoneにjavascriptでcsvファイルをダウンロード保存する方法

tetsu777

総合スコア39

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

0グッド

0クリップ

投稿2019/07/23 04:28

iphoneにCSVファイルを保存する方法について

html+javascriptでブラウザ側(indexeddb)に保存出来るメモ帳を作成しています。

●やりたいこと
入力データをブラウザ(indexeddb)に保存→保存データをCSVデータに変換し、端末側にダウンロードしたい

●質問内容
以下のexportcsv関数で、PCではCSVファイルはダウンロードフォルダに保存されるのですが、iphoneではブラウザに表示されるだけで、CSVファイルが保存されません。
自分なりに調べたところ、iphoneではiphone上の指定する場所に保存出来ないとありました。
ただし、保存場所に『icloud Drive』を指定すれば一旦『icloud Drive』に保存し、その後iphoneに保存出来る様です。

つきましては、
1.保存場所を『icloud Drive』に指定するにはどうすれば良いのでしょうか?

<a id="downloader" href="#" onclick="exportcsv()">CSVエクスポート</a> 中略 <script> function exportcsv(event) { var result = document.getElementById("result3"); var transaction = db.transaction(["copymystore"], "readwrite"); var store = transaction.objectStore("copymystore"); var request = store.getAll(); request.onsuccess = function arryda(event) { if(event.target.result == null) { return; } var cursor = event.target.result; var obj = Object.entries(cursor).map(([primaryKey, {timeStamp, copymyvalue, copymyvalue2, copymyvalue3, price, date}]) => ([primaryKey, timeStamp, copymyvalue, copymyvalue2, copymyvalue3, price, date])); var addobj = ['primaryKey', 'timeStamp', 'copymyvalue', 'copymyvalue2', 'copymyvalue3', 'price', 'date']; obj.unshift(addobj); // BOM の用意(文字化け対策 var bom = new Uint8Array([0xEF, 0xBB, 0xBF]); // CSV データの用意 var csv_data = obj.map(function(l){return l.join(',')}).join('\r\n'); var blob = new Blob([bom, csv_data], { type: 'text/csv;charset=utf-8' }); var url = (window.URL || window.webkitURL).createObjectURL(blob); //現在時刻を取得 function getTime() { var date = new Date(); //年・月・日を取得する var year = date.getFullYear(); var month = zeroPadding(date.getMonth() + 1); var day = zeroPadding(date.getDate()); //時・分・秒を取得する var hour = zeroPadding(date.getHours()); var minute = zeroPadding(date.getMinutes()); var second = zeroPadding(date.getSeconds()); //"yyyy-MM-dd_hhiiss"の形式に整形して返す var str = year + "-" + month + "-" + day + "_" + hour + minute + second; return str; } //頭に0を追加 function zeroPadding(str) { if (str < 10) { str = "0" + str; } return str; } var a = document.getElementById('downloader'); var nowDate = getTime(); var fileName = "file_" + nowDate + ".csv"; //file_yyyy-MM-dd_hhiiss.csvというファイル名 a.download = fileName; a.href = url; } } </script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/07/23 05:23 編集

[JavaScript iCloud Drive ]で検索するとでてきますが、それらの記事ではどう解決できなかったのでしょうか
guest

回答1

0

CloudKitを使ってみてはいかがでしょうか?
Appleがユーザーフレンドリーに作ってますので、初心者の私でも簡単に使うことができました。

投稿2019/07/25 18:13

okina

総合スコア471

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問