xmlhttprequest - ArrayBuffer 与 Blob 和 XHR2

标签 xmlhttprequest blob arraybuffer xmlhttprequest-level2

XHR2 differences 状态

The ability to transfer ArrayBuffer, Blob, File and FormData objects.


  • ArrayBufferBlob 有什么区别?
  • 为什么我应该关心能够通过 XHR2 发送它们? (我可以理解 File 和 FormData 的值)
  • 最佳答案

    这是一种取代旧方法的努力,旧方法将采用“字符串”并将其部分切掉。

    当你需要一个类型化的数组时,你会使用 ArrayBuffer,因为你打算使用数据,而当你只需要文件的数据时,你会使用 blob。

    Blob(无论如何根据规范)具有 MIME 空间,并且比其他格式更容易放入 HTML5 文件 API(它更原生)。

    ArrayBuffer 让我们可以使用类型化数组,这比使用特定字节的字符串操作要快得多,并且让我们可以定义数组段的实际类型。由于 JavaScript 不是严格类型的,因此很难获取一个可能被分解为 32 位整数或 64 位浮点数数组的文件(想象一下 8 位整数——就字符串操作和按位的性能而言,这将是一场噩梦计算,尤其是 unicode)。

    据我所知,您始终可以将 blob 移动到数组缓冲区或字符串表示形式,但是这对于 XHR 来说是 native 的,这允许脚本更快,这是主要优势。

    我会使用 blob 来处理文件 API,但我会使用数组来对数据进行计算。

    关于xmlhttprequest - ArrayBuffer 与 Blob 和 XHR2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7778115/

    相关文章:

    javascript - Symfony2 : allow Access-Control-Allow-Origin with google charts

    javascript - AJAX:如何在一个函数中并行使用两个 xmlHttpRequest?

    php - xmlHttpRequest 检查 mysql 数据库中的更改

    Delphi、TBlobField 和 UTF8

    postgresql - 我如何在 slick 2.0.1 中表示 postgres `bytea` 类型?

    audio - 同时播放来自 binaryjs 服务器的传入 ArrayBuffer 音频二进制数据

    javascript - 使用 Javascript 获取渲染页面源

    python - 如何将文件从Azure blob复制到Linux中的某些路径

    javascript - 如何创建类似于 WebAuthN 的 ArrayBuffer 的 JavaScript ArrayBuffer?

    javascript - 是否可以通过基于偏移量和长度的 JavaScript xhr 检索大型二进制文件的部分内容?