据报道,在chrome中,通过使用如下代码,可以与服务器进行二进制通信(而不是传统的base64通信)。
var xhr = new XMLHttpRequest();
xhr.open(method, url, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.responseType = 'arraybuffer';
xhr.onload = ...
var data = new ArrayBuffer(byteArray.length);
var ui8a = new Uint8Array(data);
for (i=0; i<byteArray.length; i++) {
ui8a[i] = byteArray[i] & 0xff;
}
var bb = new BlobBuilder();
bb.append(data);
xhr.send(bb.getBlob());
假设Chrome和Safari以类似的方式支持HTML5,那么在Safari和iOS Safari中有什么方法可以做到吗?
发布于 2012-09-25 14:04:34
new BlobBuilder()不适用于Mobile,您可以使用new (),如下所示:
xhr.send( new Blob([data], { 'type' : ... }) );
https://stackoverflow.com/questions/8596174
复制相似问题