Javascript 读取远程二进制文件进行解析
我在远程服务器上有一个文件,它是二进制的,我知道如何处理它的位。但我不能下载它并将其作为一个二进制字符串与Javascript一起呈现以供浏览器使用。从我所读到的,这是我得到的:Javascript 读取远程二进制文件进行解析,javascript,ajax,parsing,binary,Javascript,Ajax,Parsing,Binary,我在远程服务器上有一个文件,它是二进制的,我知道如何处理它的位。但我不能下载它并将其作为一个二进制字符串与Javascript一起呈现以供浏览器使用。从我所读到的,这是我得到的: function loadFile() { $.get('binaryfile.ext', function(data) { new FileReader().readAsBinaryString(data); }); } 但我得到了这个错误: Uncaught TypeError: Failed t
function loadFile() {
$.get('binaryfile.ext', function(data) {
new FileReader().readAsBinaryString(data);
});
}
但我得到了这个错误:
Uncaught TypeError: Failed to execute 'readAsBinaryString' on 'FileReader': The argument is not a Blob.
如果Idocument.write(data)
按预期打印文件内容,则文件正在正确下载
我在网上找不到工作指南或示例,我大约花了16个小时进行搜索。对此不是百分之百确定,但我相信使用jQuery的ajax方法无法获取二进制数据。现在有了
html5
,事情可能会有所改变。不管怎样,你可以用一种简单的方法来做这件事
var xhr = new XMLHttpRequest();
xhr.open('GET', 'binaryfile.ext', true);
// Hack to pass bytes through unprocessed.
xhr.overrideMimeType('text/plain; charset=x-user-defined');
xhr.onreadystatechange = function(e) {
if (this.readyState == 4 && this.status == 200) {
var binStr = this.responseText;
for (var i = 0, len = binStr.length; i < len; ++i) {
var c = binStr.charCodeAt(i);
//String.fromCharCode(c & 0xff);
var byte = c & 0xff; // byte at offset i
}
}
};
xhr.send();
var xhr=new-XMLHttpRequest();
open('GET','binaryfile.ext',true);
//黑客通过未处理的文件传递字节。
xhr.overrideMimeType('text/plain;charset=x-user-defined');
xhr.onreadystatechange=函数(e){
if(this.readyState==4&&this.status==200){
var binStr=this.responseText;
对于(变量i=0,len=binStr.length;i
您可以在此处找到更多信息: