我写了一点 AJAX 来获取文件客户端,以便我可以将其发布回服务器。被反对的对象作为ArrayBuffer
. 但是,在将此二进制文件发布回服务器进行保存后,我需要在此文件中包含一些元数据。我已经尝试将ArrayBuffer
其他字符串包装在和对象中,但是当我检查数据服务器端时,它似乎只传输了ArrayBuffer
.
我尝试ArrayBuffer
通过此答案将其转换为字符串:
https://stackoverflow.com/a/11058858/449511。
但是, myArrayBuffer
的字节长度是 519843,这会导致异常:
未捕获的 RangeError:ArrayBuffer 长度减去 byteOffset 不是元素大小的倍数。
我的理解ArrayBuffers
是稀疏的,我已经阅读了 MDN 文档,但找不到太多其他内容。我很感谢有关如何将其转换ArrayBuffer
为字符串或将其包装ArrayBuffer
成对象的任何其他资源或想法。
这是我的 AJAX 代码片段:
$.ajax({
type: 'POST',
url: 'http://localhost:5000/',
data: {fname: f, url:u, binary:b}, // the binary is an ArrayBuffer
});