10

我有一个拖放脚本,它使用readAsArrayBuffer(). 缓冲区的长度是完美的,但我似乎无法弄清楚如何将数据拉出缓冲区。

显然我必须制作一个DataView或一个Uint8Array或其他东西,然后遍历它的byteLength...帮助!

编辑 相关代码(不多):

var reader = new FileReader();
reader.onload = function(e) {
    // do something with e.target.result, which is an ArrayBuffer
} 
reader.readAsArrayBuffer(someFileHandle);
4

1 回答 1

3

这可能会根据您对我的评论的回答而改变,但如果我假设您正在使用某个地方,您需要在需要提供的回调中FileReader读取它的result属性:loaded

function loaded(evt) {  
  var datastring = evt.target.result;

  // do something here
}

reader.onload = loaded; // where reader is a FileReader, FileReaderSync 

更新:啊,我明白了。那么你最好的做法是遵循这个副本:

在字符串和 ArrayBuffers 之间转换

Update2:请注意,您可能可以使用readAsText()then,但我不知道您是否可以自由地这样做。

于 2012-06-08T03:22:12.403 回答