2

.csv 拡張子でダウンロードする JavaScript でデータを動的に作成しようとしていますが、ファイル名をダウンロードに関連付けることができません。コード スニペットを次に示します。

var data = '1,2,3';
window.location = 
    "data:application/csv;charset=UTF-8;content-disposition:attachment;filename=export.csv," 
    + encodeURIComponent(data);

これはダウンロードされますが、ファイル名は一般的で、.csv 拡張子はありません。

次の PHP コードを使用して、サーバー側でこれを行うことができます。

<?php
   header('Content-type: text/csv');
   header('Content-disposition: attachment;filename=export.csv');
   echo "1,2,3";
?>

さらに、壁に背を向けている場合は、Javascript を変更して Ajax をサーバーに送信し、これを取得することもできますが、純粋な Javascript ソリューションを使用したいと考えています。これを行うブラウザに依存しない、Flash を使用しない方法はありますか?

編集

誰かがこの質問を重複の可能性があると指摘しました。私はグーディリジェンスを行い、以前のSO記事をチェックしました。これらの質問からしばらく時間が経過したため、私はまだこれを質問しています。

  1. ブラウザの機能が有利に変更された可能性があります。
  2. 古いブラウザは制約が少ないため、特定のソリューションは、以前の質問が尋ねられたときよりも実行可能である可能性があります.

さらに、質問がより明白になる場合は、他の質問にひねりを加えたタイプのコンテンツヘッダーをデータURIに挿入することについて具体的に尋ねています(件名に従って)。

前もって感謝します。

4

0 に答える 0