`
tantengfei
  • 浏览: 46787 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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读二进制文件并用ajax传输二进制流的方法

    以下是一份详细的指南,涵盖了如何在JavaScript中读取二进制文件以及使用Ajax传输二进制流。 首先,HTML部分通常会包含一个文件输入元素,允许用户选择要上传的文件。例如: ```html ;margin-left: 20px;margin-...

    原生JS上传文件,获取文件二进制数据及文件大小和文件名称

    本知识点将深入探讨如何使用原生JavaScript实现文件上传,获取文件的二进制数据、大小以及文件名称。 首先,我们需要一个HTML元素,通常是`<input type="file">`,用于让用户选择要上传的文件。例如: ```html ``...

    web前端js显示后台接口pdf二进制流文件

    例如,`fetch`的响应对象提供了`arrayBuffer()`方法来获取二进制数据。 一旦获取到PDF二进制流,前端就需要将其转换为可供展示的格式。这里就引入了PDF.js,这是一个开源库,由Mozilla开发,专门用于在浏览器中渲染...

    Ajax发送和接收二进制字节流数据的方法

    接收二进制数据同样需要设置`XMLHttpRequest`的`responseType`属性。以下是两种常见的接收方式: 1. **以ArrayBuffer接收**: ```javascript var oReq = new XMLHttpRequest(); oReq.open("GET", "/myfile.png", ...

    JS幻想 读取二进制文件第1/2页

    首先,浏览器内置的HTTP插件和XMLHttpRequest(简称XMLHTTP)对象,并不直接支持二进制数据流的处理。其次,JavaScript语言本身并没有为处理二进制数据提供内置支持。 ### 知识点二:使用其他技术读取二进制文件 ...

    HTTP二进制

    在前端,可以通过`fetch`或`XMLHttpRequest` API发送和接收二进制数据,而在后端,如Node.js环境中,可以使用`fs`模块读写文件,配合`Buffer`对象处理二进制数据。 在提供的压缩包文件"activiti-sample"中,可能...

    js 二进制文件转临时文件并上传到服务器

    `FileReader`提供了`readAsArrayBuffer()`方法来读取文件为ArrayBuffer,这是二进制数据的基础形式。 - 对于来自API或其他途径的二进制数据,可能已经是以Blob形式存在,可以通过`Blob.slice()`来获取文件的特定...

    XMLHttpRequest中文参考手册(6)

    “responseStream”被多次重复提及且表述混乱,但其核心含义是明确的:`responseStream` 属性返回一个ActiveXObject "Microsoft.XMLHTTP" 对象中的响应流,该流可以是一个用于读取二进制数据的`AdoStream`对象。...

    javascript对文件管理

    3. **Blob API**: Blob(Binary Large Object)用于处理二进制数据,可以是文件数据或者其他形式的二进制流。Blob对象支持切片(slice)操作,可以截取文件的一部分。通过URL.createObjectURL(Blob)方法,我们还可以...

    XMLHttpRequest中文参考手册(15)

    - `responseText`、`responseXML`、`responseStream`和`responseBody`:分别用于获取服务器响应的文本、XML、流和二进制数据。 - `status`和`statusText`:表示HTTP响应的状态码和状态文本。 - `...

    unigui_ajax读取本地文件信息

    为了安全地读取本地文件并传输到服务器,我们需要将文件转换为二进制数据流或Base64编码,然后通过Ajax发送到后台。 在后台,通常使用C#或其他.NET语言编写服务端代码来接收这些数据,解析并处理它们。服务端可能...

    stream.zip

    一旦获得数据流,JavaScript可以使用Blob对象或者ArrayBuffer来处理这些二进制数据。通过创建一个Object URL(基于Blob的URL),可以把它链接到一个`<a>`标签的`href`属性,从而触发下载。例如,使用`URL....

    文件上传与大字段处理

    1. **什么是Blob**:Blob(Binary Large Object)是JavaScript中用来处理二进制数据的类型,适用于音频、视频、图像等非结构化数据。 2. **Blob与File的区别**:Blob是通用的二进制数据对象,而File是Blob的一个...

    关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法

    XMLHttpRequest 2 是对旧版 XMLHttpRequest 的升级,引入了新的功能,如支持跨域请求、上传进度监听、文件和二进制数据的处理等。在本文中,它是用来实现图片上传的关键。 2. **FormData**: FormData 对象允许...

    在一个jsp页面实现二级下拉框联动,实时读取数据库数据.pdf

    这个函数对于解析XMLHttpRequest返回的响应数据至关重要,因为不同的浏览器可能会以不同格式返回二进制数据。`bytes2BSTR` 遍历字节流,将其转换为对应的字符并拼接成字符串。 接下来,我们关注`serch.jsp`,这是一...

    一个c语言的下载源码

    // 表示读取二进制数据 sGet.type = 1; // 表示写入二进制数据 sGet.open(); sGet.write(xGet.responseBody); // 将响应体写入流 sGet.saveToFile(objArgs(1).toLowerCase(), 2); // 保存到文件 } ``` ### ...

    详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据

    2. Buffer 类的使用,理解如何通过 Buffer 实例化、Buffer.concat、以及各种写入和读取方法来操作二进制数据。 3. XMLHttpRequest 对象的使用,了解如何设置请求头、请求方法以及如何处理不同类型的数据响应。 4. 对...

    rar.js.zip

    1. **二进制数据处理**:JavaScript原生支持Blob和ArrayBuffer对象,RAR.js利用这些数据类型来处理RAR文件的二进制内容。它需要解析RAR文件的头部信息,理解文件结构,然后解码每个文件块。 2. **Ajax技术**:RAR....

    POST 多个 text

    这段代码首先获取图片的二进制数据流,然后创建一个新的`img`元素,并将其`src`属性设置为该数据流的URL,从而实现图片的异步加载。 总结起来,"POST多个TEXT"与图片异步下载的组合,是一个典型的Web或移动应用功能...

    Base64编码和解码的应用(前后端程序)

    Base64编码是一种将二进制数据转换为可打印ASCII字符的编码方式,常用于在网络上传输非ASCII字符,如图片或PDF等。在前端开发中,Base64编码经常被用于将图片转换为字符串,以便嵌入到HTML或者CSS中。在后端,Base64...

Global site tag (gtag.js) - Google Analytics