2011-12-24 5 views
2

なしJavaScriptでmp3を:How do I dynamically create a document for download in Javascript?は、動的に作成し、ダウンロードし、私はDownloadifyこの他の質問で何をやりたいのFlash

しかし、私はフラッシュを使用せずにそれを行うにしたいと思います。それはどうやってできますか?

+0

それでは、どうしたのですか? –

+1

あなたのタイトルは*フラッシュ*なしで言うが、あなたの質問は*フラッシュ*と言う。どちらですか? –

+0

オリジナルの質問がフラッシュを使用しました。だから私は彼がないと思うだろう。 – tkone

答えて

3

私はあなたができる最善のは、このようなものだと思う:

function addDownloadLinkTo(elem, base64data) { 
    var link = document.createElement('a'); 
    var text = document.createTextNode('Download'); 
    link.appendChild(text); 
    link.setAttribute('href', 'data:application/octet-stream;base64,' + base64data); 
    elem.appendChild(link); 
} 

それとも、jQueryの、

base64datathis questionのように求めることができる
$(elem).append($('<a href="data:application/octet-stream;base64,' + base64data + '">Download</a>'); 

を使用している場合。

残念ながら、データURIはまだ(AFAIK)はファイル名を指定するメカニズムを提供していません。また、すべてのブラウザで動作しない可能性があります。

+0

ありがとうございます - それは私にテキストファイルを簡単に取得します。 私はcatをやってみましたfile.mp3 | pbcopy、それを私のbase64data世代に貼り付けるが、ペーストに 'と'の両方の文字が含まれているため、おそらくページの "unterminated string"にエラーが発生する。 – quantumpotato

+0

foo.mp3をテキストエディタから保存してvlcで開く。 0:00 duration – quantumpotato

+0

ああ、私はあなたが* JSでそれをやっていると思っていた。 'openssl base64 -d -in file.mp3 -out file.base64'を試してください。 – Amadan

関連する問題