6

クライアント側の Javascript でバイナリ ファイルを解析する方法があるかどうか疑問に思っています。バイナリ ファイル (サウンド ファイルはエンド ゲーム) の HTML 入力フォームと、ファイルを「解析」する Javascript 関数をアクティブにするボタンを含むページを作成したいと考えています。これはクライアント側の Javascript で可能ですか?

サーバー上でCを使用してこれを実行できることはわかっていますが、サーバー側の関与は避けたいと思います。これは、タスクが計算集約的であることが予想され、負荷とサーバーを低く保ちたいためです。

私が Google で見たことから、Javascript でバイナリ データを解析することは可能です。最初にサーバーに渡すことなく、Javascript関数の手にファイルを取得する方法がわかりません。

4

1 に答える 1

6

FileReader API を使用して、クライアント側でファイルを読み取ることができます

例:

HTML マークアップ:

<input id="myfile" type="file"/>

JavaScript:

var fileInput = document.getElementById('myfile');
var fReader = new FileReader();

fReader.onload = function(e) {
  console.log(e.target.result); /// <-- this contains an ArrayBuffer
}

fileInput.onchange = function(e) {
    var file = this.files[0];
    fReader.readAsArrayBuffer(file);
}

JSFiddle: http://jsfiddle.net/wbwHU/ (ArrayBuffer 出力のコンソールを見てください)

于 2013-05-11T08:10:32.160 に答える