问题标签 [arraybuffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6540 浏览

jquery - 通过 jQuery 在一次 Ajax 调用中发送带有其他字符串的 ArrayBuffer

我正在做一个需要将大文件上传到服务器端的项目。我决定使用 HTML5 FileReader 和 jQuery 以块(ArrayBuffer)的形式上传文件。

我通过将块转换为base64字符串成功完成了这项任务,通过jQuery.post发送到后端服务器,数据参数为JSON格式。

例如

但我想优化这段代码,因为 base64 太大而无法转换。我想知道我是否可以直接通过$.ajax.

我知道如果我设置processData: falseArrayBuffer 并将其放入 data 参数中,它可以作为Request.InputStream. 但是这样我就无法附加其他数据,例如nameindex

我想知道我可以在一个ajax调用中单独发送原始ArrayBuffer(或blob,二进制)和我的其他数据(名称,索引)。

0 投票
1 回答
2556 浏览

javascript - 如何有效地将 THREE.Geometry 转换为 ArrayBuffer、File 或 Blob?

我想将我在其中构建 THREE.Geometry 对象的一段代码移动到HTML5 Web Worker

由于我不想将其序列化为字符串(出于明显的性能目的),我想将其转换为可传输对象,如 ArrayBuffer、File 或 Blob,以便我可以“通过引用”传递它。

您知道将 THREE.Geometry 转换为其中一个对象的有效方法吗?

0 投票
1 回答
2071 浏览

javascript - 从 arraybuffer 到 Cordova 中的 blob

我正在尝试使用 Cordova 在本地(使用 LocalFileSystem)保存图片(我从带有 XMLHttpRequest 的 URL 检索)。经过大量调查,我将问题缩小到一个点:将 ArrayBuffer 转换为 Blob。这适用于 Windows 上的 Chrome(xhr.responseType 是 arraybuffer):

但它不适用于 iOS 上的 Cordova (2.9.0)(XCode iOS 6.1 模拟器)。任何想法?

0 投票
5 回答
9472 浏览

javascript - ArrayBuffers 有最大长度吗?

我在这里有点困惑。ArrayBuffer 是否为它分配一个新的内存区域?如果是这样,放置它的安全最大 Blob 大小是多少?

0 投票
2 回答
3924 浏览

javascript - Convert guid bytes to string in javascript

I am getting arrayBuffur from WebSocket connection, and I can get range of byte arrays that is Guid created in c#.

How I can convert this guid bytes to string in javascript?

Guid="FEF38A56-67A9-46DF-B7D8-C52191CD70F4"

Bytes=[86, 138, 243, 254, 169, 103, 223, 70, 183, 216, 197, 33, 145, 205, 112, 244]

Thanks.

0 投票
2 回答
8677 浏览

opengl - 使用 VAO 时,VBO 中的交错是否会提高性能

当您使用交错的 VBO 而不是使用多个 VBO 时,通常会加快速度。这在使用 VAO 时也有效吗?

因为为位置设置一个 VBO,为法线设置一个 VBO 更方便。您可以在多个 VAO 中使用一个 VBO。

0 投票
2 回答
3718 浏览

javascript - 使用 Web Audio API 将多个 ArrayBuffer 合并/分层为一个 AudioBuffer

我需要分层循环 .wav 轨道,最终我需要能够打开和关闭并保持同步。

首先,我加载轨道并停止BufferLoader将加载的轨道arraybuffer变成AudioBuffer(因此false

当您单击屏幕上的按钮时,它会调用startStop().

我在这个家伙 github 上找到的大部分代码。在演示中,您可以听到他正在对 AudioBuffers 进行分层。

在主机上尝试过同样的方法。

不管这些argularJS东西,网络音频的东西正在发生service.js在:

如果您打开控制台并单击按钮,您可以看到activeBuffer.byteLength(ArrayBuffer 类型)正在递增,但是即使在通过该context.decodeAudioData方法解码后,它仍然只播放您单击的第一个声音,而不是合并的声音AudioBuffer

0 投票
3 回答
3767 浏览

javascript - 可以读取二进制数据的部分 XHR 响应吗?

我目前正在研究用二进制数据读取部分 XHR 响应的可能性。我们当前的方法是基于 'responseText' 属性和 base64 编码。显然,这远非最佳。

我们如何使用 XHR 读取部分 Blob/ArrayBuffer 响应?当我在 Chrome 中尝试时,整个 ArrayBuffer/Blob 在 readyState = 4 时可用,但在此之前不可用。

总而言之,在我看来:

  • 读取 XHR 的 responseText 属性:可以在 readyState = 4 之前读取响应,我们可以将 base64 编码的二进制数据流式传输回客户端
  • 使用 responseType = 'arraybuffer' 读取 XHR 的响应属性:不读取部分响应,但在 readyState = 4 时使整个缓冲区可用

我在这里错过了什么吗?我们可以采取什么方法来读取部分二进制响应?

0 投票
1 回答
1226 浏览

javascript - 了解 JavaScript 中类型化数组的概念

我想知道什么是 JavaScript 中的类型化数组(例如Int16Array, Uint32Array,Uint8ClampedArray等)。我是这个字节级概念的新手,因为我真的不明白所说的内容。例如,如果您在谈论 32 位操作时查看这篇文章,那么我会迷路...
https://hacks.mozilla.org/2011/12/faster-canvas-pixel-manipulation-with-typed-数组/

我知道一个字符在 JavaScript 中是两个字节,并且我知道类型化数组只是一个存储字节的缓冲区(?),然后数据视图(例如上面这三个)用于根据它们的类型以某种方式读取/修改字节信息。但是,我无法理解如何使用它们或它们比“普通”数组有什么好处。有人可以解释类型化数组的用例和好处吗?

0 投票
0 回答
264 浏览

javascript - 当href是本地文件url时如何获取window.location.href的二进制表示?

当 window.location.href 是本地文件 url 时,有什么方法可以获取源 HTML 的二进制表示(Blob、ArrayBuffer 或其他)?

这只是尝试获取原始 html 文件的二进制视图以进行各种操作;我不是想将 html 加载到自身中。

这很容易通过使 XmlHttpRequest 在原始文件是远程文件时以二进制形式访问 html 来完成,但如果原始 html 是本地文件,我不知道如何完成它。