1

JavaScript を使用して、バックグラウンドでバイナリ ファイルをダウンロードし、そのバイナリ データを変更し (いくつかの内部処理)、最後にそのようなファイルをローカル ドライブに保存するクライアントを提供する必要があります。

どのようなアプローチを使用すればよいかアドバイスしてください。

4

1 に答える 1

2

クライアント側でデータを処理する場合は、最後にデータを Base64 エンコードして A 要素を構築し、属性data-uriに MIME タイプ セットを指定できます。href

データをダウンロードするには、AJAX を使用できます (jQuery を使用するか、jQuery がオプションでない場合は直接)。ここにjQuery の例を示します。

$.ajax({
    url: "pageThatProvidesBinaryData.html",
    context: document.body
}).done(function(data) {
    processData(data);
});

(バイナリデータを扱うときはエンコーディングに注意してください)。

データを処理してから、(html5) を使用できます。

<a href="data:my/mime;charset=uft-8;base64,<your-data>" download="Filename.ext">
Click to download</a>

my/mime実際の型に置き換えます (つまりapplication/octet-stream、ジェネリック バイナリの場合)。

-tagにdownload属性をA指定すると、ユーザーはリンクをクリックしたときにデータをダウンロードできます (html5 対応のブラウザーを使用している場合)。

これを自動的に発生させたい場合は、a 要素を非表示にしてクリックを生成
できます。JavaScript を介してリンク (または任意の要素) のクリック イベントをトリガーすることは可能ですか?

data-uris の詳細:
https://en.wikipedia.org/wiki/Data_URI_scheme

于 2013-06-16T20:57:06.530 に答える