JavaScript (XMLHttpRequest) 读取二进制数据流

利用XMLHttpRequest的overrideMimeType方法设置charset为x-user-defined。
//fetches BINARY FILES synchronously using XMLHttpRequest
load_url = function(url) { 
  netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
  var req = new XMLHttpRequest();
  req.open('GET',url,false);
  //XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]
  req.overrideMimeType('text/plain; charset=x-user-defined');
  req.send(null);
  if (req.status != 200) return '';
  return req.responseText;
}
 
var filestream = load_url(url);
var abyte = filestream.charCodeAt(x) & 0xff;
IE不支持overrideMimeType方法,不过有评论者说VBScript可以实现:
Dim xhr
Set xhr = CreateObject("Microsoft.XMLHTTP")
xhr.Open "GET", "folder.bin", False
xhr.setRequestHeader "Accept-Charset", "x-user-defined"
xhr.setRequestHeader "Content-Type", "application/pdf"
xhr.send Null

你可能感兴趣的:(JavaScript,Security,IE,Microsoft,VBScript)