Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 读取远程二进制文件进行解析_Javascript_Ajax_Parsing_Binary - Fatal编程技术网

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

我在远程服务器上有一个文件,它是二进制的,我知道如何处理它的位。但我不能下载它并将其作为一个二进制字符串与Javascript一起呈现以供浏览器使用。从我所读到的,这是我得到的:

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.
如果I
document.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
您可以在此处找到更多信息: