Html Google Chrome Base64方法是否能够处理来自文件API的二进制数据?

Html Google Chrome Base64方法是否能够处理来自文件API的二进制数据?,html,google-chrome,base64,fileapi,Html,Google Chrome,Base64,Fileapi,我对Base64使用btoa和atob,但atob方法对二进制数据不起作用!只发短信。我怎样才能解决这个问题 if(!!window.createBlobURL || !!window.createObjectURL) { var bb = new BlobBuilder(); var reader = new FileReader(); var url_creator = window.createBlobURL || window.createObjectURL;

我对Base64使用btoa和atob,但atob方法对二进制数据不起作用!只发短信。我怎样才能解决这个问题

if(!!window.createBlobURL || !!window.createObjectURL) {
    var bb = new BlobBuilder();
    var reader = new FileReader();
    var url_creator = window.createBlobURL || window.createObjectURL;
    bb.append(atob(msg.bit.file.data));
    reader.onloadend = function(e) {
      bb = new BlobBuilder();
      bb.append(e.target.result);
      var url = url_creator(bb.getBlob(msg.bit.file.type));
      window.open(url);
    }
    reader.readAsBinaryString(bb.getBlob(msg.bit.file.type));
  }

其中msg.bit.file.data是base64编码的文件。

如果您的数据已经是二进制的(TypedArray),则BlobBuilder上的append应该可以正常工作


如果数据是从Chrome中的XMLHttpRequest返回的,那么至少您可以访问responseBlob属性,该属性可以直接在BlobBuilder.append()中使用。

您可以演示如何加载二进制数据吗?二进制数据最初是否在base64中?即使你成功地解码了它,你将如何显示它?是的,请发布一些代码,准确地显示你正在尝试做什么。如果没有这些,这是很难回答的。设置
xhr.responseType='blob'
还没有在Chrome中实现。明星