--- title: FileReader.readAsBinaryString() slug: Web/API/FileReader/readAsBinaryString translation_of: Web/API/FileReader/readAsBinaryString ---
{{APIRef("File API")}} {{non-standard_header}}
 

readAsBinaryString 方法会读取指定的 {{domxref("Blob")}} 或 {{domxref("File")}} 对象,当读取完成的时候,{{domxref("FileReader.readyState","readyState")}}  会变成DONE(已完成),并触发 {{event("loadend")}} 事件,同时 {{domxref("FileReader.result","result")}} 属性将包含所读取文件原始二进制格式。

注意:从 2012 年 7 月 12 日起,该方法已从 W3C 工作草案废除。

语法

instanceOfFileReader.readAsBinaryString(blob);

参数

blob
即将被读取的 {{domxref("Blob")}} 或者 {{domxref("File")}} 对象。

示例

var canvas = document.createElement('canvas');
var height = 200;
var width  = 200;

canvas.width  = width;
canvas.height = height;

var ctx = canvas.getContext('2d');

ctx.strokeStyle = '#090';
ctx.beginPath();
ctx.arc(width/2, height/2, width/2 - width/10, 0, Math.PI*2);
ctx.stroke();

canvas.toBlob(function (blob) {
  var reader = new FileReader();

  reader.onloadend = function () {
    console.log(reader.result);
  }

  reader.readAsBinaryString(blob);
});

规范

该方法已从 FileAPI 标准移除,请使用 {{domxref("FileReader.readAsArrayBuffer()")}} 代替。

浏览器兼容性

{{CompatibilityTable}}

Feature Firefox (Gecko) Chrome Internet Explorer Opera Safari
Basic support {{CompatGeckoDesktop("1.9.2")}}[1] 7 {{CompatNo}} 12.02[3] 6.0
Feature Firefox Mobile (Gecko) Android IE Mobile Opera Mobile Safari Mobile
Basic support 32 3 10 11.5 6.0

[1] 在Gecko 2.0 beta 7 (Firefox 4.0 beta 7)之前,上述方法中所有的 {{domxref("Blob")}} 参数都只能是一个 {{domxref("File")}} 对象。根据最新的 FileAPI 草案,现在的所有的 {{domxref("Blob")}} 参数既可以是 {{domxref("Blob")}} 对象也可以是一个 {{domxref("File")}} 对象。在Gecko 13.0 {{geckoRelease("13.0")}} 之前,FileReader.error 属性会返回一个 FileError 对象。根据最新的FileAPI草案,现在的  FileReader.error会返回一个 DOMError 对象。

[2] IE9有一个 File API Lab.

[3] Opera从11.10开始 部分支持 .

相关链接