2011-05-30 13 views
5

私はjavascriptでテキストファイルを動的に生成したいと思います。現在、私は、次のいずれかの解決策と程度に、この作業を取得することができます、しかしファイルを生成し、それをプレーンなjavascriptでダウンロードするにはどうすればよいですか?

content = "abc123"; 
document.location = "data:text/octet-stream," + encodeURIComponent(content); 

OR

content = "abc123";  
var bb = new BlobBuilder(); 
bb.append(content); 
var blob = bb.getBlob(); 
blob = blob.slice(0, blob.size, 'text/octet-stream'); 
var fr = new FileReader(); 
fr.onload = function() {document.location = this.result;} 
fr.readAsDataURL(blob); 

これらのソリューションの両方を、ダウンロードボックスが表示されたときに、唯一のデフォルトのファイル名を提供します[名前を付けて保存]ダイアログボックスで[ダウンロード]をクリックします。

私の質問は、「README.TXT」または「scene.obj」の

また、この場合は、データ型がしかし、以前は「text/plainの」でし注意私は、たとえば、特定のファイル名に変更することができますどのように、基本的に(テキスト/オクテットストリームのように)ダウンロードする代わりに、新しいテキストドキュメントに切り替わります。

私はフラッシュソリューションがほしいと思わない、javascript/html5のみ提案してください。

は乾杯、ジョシュ

+0

を使用してFileSaverインタフェースを提供しprojectを発見しました[データを使用する際に推奨されるファイル名を指定する方法はありますか:URI?](http://stackoverflow.com/questions/283956/is-there-any-way-to-specify-a-suggested-filename-使用しているデータuri) –

+0

これは推奨リンクと重複しているように見えますが、検索したときに見つからなかった理由がわかりません。この質問への回答を望む人は、リンクをたどるべきです。 –

答えて

4

は、あなたがFileAPIからFileSaverを使用する必要があります。 今のところ、それは唯一のドラフトであり、mailing list answerによれば、それはまだブラウザで実装されていません。

あなたは、実装の進捗状況

UPD 2013年8月2日に関する最新情報を入手するためにchromium issueに例えば見ることができます:私はので、可能端正なトリック

+1

IE10はmsSaveOrOpenBlobとmsSaveBlobを備えています。 TheeseはIE10で利用可能な2つのメソッドで、サイトにユーザーにコンピュータにBLOBを保存するように要求します。詳細はhttp://blogs.msdn.com/b/ie/archive/2012/01/27/creating-files-through-blobbuilder.aspxをご覧ください。 – Alexander

0

私はあなたがチェックすべきだと思う:ライター仕様:そのためにjQuery Table to CSV export

+0

これらのソリューションは、サーバー側のスクリプトに依存するように見えますが、私はクライアント側に固執しようとしています。とにかくおかげさまで感謝します。 –

関連する問題