我正在研究使用二进制数据读取部分XHR响应的可能性。我们目前的方法是基于'responseText'属性和base64编码。显然,这远非最佳选择。
我们如何使用XHR读取部分Blob/ArrayBuffer响应呢?当我在Chrome中尝试时,仅当readyState = 4时整个ArrayBuffer/Blob才可用,而在此之前不可用。
总结一下,我认为:
- 读取XHR的responseText属性:可以在readyState = 4之前读取响应,并将base64编码的二进制数据流回客户端
- 使用responseType = 'arraybuffer'读取XHR的response属性:无法读取部分响应,但在readyState = 4时整个缓冲区都可用
我有什么遗漏吗?我们该采取什么方法来读取部分二进制响应?