JavaScript を使用して、バックグラウンドでバイナリ ファイルをダウンロードし、そのバイナリ データを変更し (いくつかの内部処理)、最後にそのようなファイルをローカル ドライブに保存するクライアントを提供する必要があります。
どのようなアプローチを使用すればよいかアドバイスしてください。
JavaScript を使用して、バックグラウンドでバイナリ ファイルをダウンロードし、そのバイナリ データを変更し (いくつかの内部処理)、最後にそのようなファイルをローカル ドライブに保存するクライアントを提供する必要があります。
どのようなアプローチを使用すればよいかアドバイスしてください。
クライアント側でデータを処理する場合は、最後にデータを 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