tay*_*10r 6 javascript file-io binaryfiles
我想知道是否有任何可能的方法来解析客户端 Javascript 中的二进制文件。我想编写一个页面,其中包含二进制文件的 HTML 输入表单(最终游戏是声音文件)和激活“解析”文件的 Javascript 函数的按钮。这可以通过客户端 Javascript 实现吗?
我知道我可以在服务器上使用 C 来完成此操作,但我想避免涉及服务器端的任何内容。这是因为我预计该任务是计算密集型的,并且我希望保持负载和服务器较低。
从我在 Google 上看到的情况来看,可以用 Javascript 解析二进制数据。我只是不确定如何在不先将文件传递到服务器的情况下将文件交给 Javascript 函数。
您可以使用FileReader API 在客户端读取文件
例子:
HTML 标记:
<input id="myfile" type="file"/>
Run Code Online (Sandbox Code Playgroud)
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);
}
Run Code Online (Sandbox Code Playgroud)
JSFiddle: http: //jsfiddle.net/wbwHU/(查看控制台以获取 ArrayBuffer 输出)