我在jpeg文件上有一个从FileReader ReadAsArrayBuffer方法生成的javascript ArrayBuffer。
我试图访问ArrayBuffer的UInt32数组并发送到WCF服务(最终要插入到服务器上的数据库中)。
我在stackoverflow(byte array method)上看到了一个示例,其中UnInt32数组被转换为我认为可行的字节数组。
我试图访问下面我的arrayBuffer变量的[[Uint8Array]],所以我可以将它发送到WCF,但我没有太多运气。我试过了:
var arrayBuffer = reader.result[[Uint8Array]];//nope
var arrayBuffer = reader.result[Uint8Array];//nope
var arrayBuffer = reader.result.Uint8Array;//nope
var arrayBuffer = reader.result[1];//nope
有关如何访问[[Uint8Array]]的任何想法将不胜感激。当整个ArrayBuffer被发送到WCF服务时,我得到一个0字节的数组 - 无法读取它
由于
皮特
答案 0 :(得分:11)
Those properties do not actually exist on the ArrayBuffer object。它们由Dev Tools窗口放在那里,用于查看ArrayBuffer内容。
您需要通过constructor syntax
实际创建所选的TypedArraynew TypedArray(buffer [, byteOffset [, length]]);
所以在您的情况下,如果您需要Uint8Array
,则需要执行以下操作:
var uint8View = new Uint8Array(arrayBuffer);