jjzjj

arraybuffer

全部标签

javascript - 将 Canvas 内容序列化到 ArrayBuffer 并再次反序列化

我有两个canvas,我想把canvas1的内容传过去,序列化成一个ArrayBuffer,然后加载到canvas2中。以后我会将canvas1的内容发送到服务器,处理后返回给canvas2,但现在只想序列化和反序列化。我找到了这种以字节为单位获取Canvas信息的方法:varimg1=context.getImageData(0,0,400,320);varbinary=newUint8Array(img1.data.length);for(vari=0;i并且还发现了这种将信息设置为Image对象的方法:varblob=newBlob([binary],{type:"image/p

javascript - 巨大的 JavaScript HTML5 blob(来自大型 ArrayBuffers)在客户端构建一个巨大的文件

我正在编写一个Web浏览器应用程序(客户端),它从许多位置下载大量block并将它们连接起来构建一个blob。然后将该blob作为普通文件保存到本地文件系统。我这样做的方式是通过ArrayBuffer对象和一个blob。varblob=newBlob([ArrayBuffer1,ArrayBuffer2,ArrayBuffer3,...],{type:mimetype})这适用于中小型文件(大约700MB),但浏览器会因较大的文件而崩溃。我知道RAM内存有其局限性。情况是我需要构建blob以生成文件,但我想允许用户下载比该大小大得多的文件(想象一下,例如,大约8GB的​​文件)。¿如何

javascript - 如果 responseType 是 arraybuffer,如何从 $http 读取 JSON 错误响应

我使用加载一些二进制数据$http.post(url,data,{responseType:"arraybuffer"}).success(function(data){/**/});如果出现错误,服务器会返回一个错误的JSON对象,例如{"message":"somethingwentwrong!"}有什么方法可以得到不同于成功响应类型的错误响应?$http.post(url,data,{responseType:"arraybuffer"}).success(function(data){/**/}).error(function(data){/*howtoaccessdata.m

javascript - ArrayBuffer 和 Blob 有什么区别?

我正在阅读http://www.html5rocks.com/en/tutorials/file/xhr2/并试图找出ArrayBuffer和Blob之间的区别。两个容器不都是由比特组成的吗?因此,难道不能以多种方式(如32位block、16位block等)查看这两个容器吗? 最佳答案 总结除非您需要编写/编辑的能力(使用ArrayBuffer),否则Blob格式可能是最好的.详情我从differenthtml5rockspage.得到这个问题,然后我找到了@BartvanHeukelom'scomments有帮助,所以我想在这里将

javascript - UTF-8 ArrayBuffer 和 String 之间的转换

我有一个ArrayBuffer,其中包含一个使用UTF-8编码的字符串,但我找不到将此类ArrayBuffer转换为JSString的标准方法(据我所知是使用UTF-16编码的)。我在很多地方都看到过这段代码,但我看不出它如何处理任何超过1个字节的UTF-8代码点。returnString.fromCharCode.apply(null,newUint8Array(data));同样,我找不到将String转换为UTF-8编码的ArrayBuffer的标准方法。 最佳答案 使用TextEncoder和TextDecodervarui

javascript - 将 base64 字符串转换为 ArrayBuffer

我需要将base64编码字符串转换为ArrayBuffer。base64字符串是用户输入的,它们将从电子邮件中复制和粘贴,因此在加载页面时它们不存在。如果可能的话,我想在javascript中执行此操作而不对服务器进行ajax调用。我发现这些链接很有趣,但它们对我没有帮助:ArrayBuffertobase64encodedstring这是关于相反的转换,从ArrayBuffer到base64,而不是相反http://jsperf.com/json-vs-base64/2这看起来不错,但我不知道如何使用代码。是否有一种简单的(也许是native的)方法来进行转换?谢谢

javascript - 从arraybuffer显示pdf

我从这段代码中返回来自laraveldompdf的流数据$pdf=\App::make('dompdf.wrapper');$pdf->loadHTML("Thisistest");return$pdf->stream();这是我的JSajax代码$.ajax({type:"GET",url:"/display",responseType:'arraybuffer'}).done(function(response){varblob=newBlob([response.data],{type:'application/pdf'});varpdfurl=window.URL.create

javascript - 数组和 ArrayBuffer 有什么区别?

我只是想知道为什么每个人都使用ArrayBuffer而不仅仅是普通的array、string或字符串化的JSON用于从服务器向客户端发送消息。效率更高吗?另外,只是想知道Uint8Array是什么,它有什么不同,两者在哪里使用等等。我目前正在使用带有Socket.io的Node.js,但如果它是更好的方法,我很乐意更改为纯WebSocket。 最佳答案 安ArrayBuffer不仅仅是一个简单的数组。它包含原始二进制数据。这对于直接内存操作和节省空间非常有用。当您创建一个普通数组时,在许多情况下您不会获得一组适当的连续内存,因为数组

javascript - 如何在 JS 中从 ArrayBuffer 写入文件

我正在尝试为Meteor框架编写文件uploader。原理是将客户端上的文件从ArrayBuffer中拆分成4096位的小包,通过Meteor.method发送到服务器。下面的简化代码是客户端向服务器发送block的部分,它会重复直到offset达到data.byteLength://dataisanArrayBuffervartotal=data.byteLength;varoffset=0;varupload=function(){varlength=4096;//chunksize//adjustthelastchunksizeif(offset+length>total){le

javascript - 将二进制 NodeJS 缓冲区转换为 JavaScript ArrayBuffer

如何将NodeJS二进制缓冲区转换为JavaScriptArrayBuffer? 最佳答案 InstancesofBufferarealsoinstancesofUint8Array在node.js4.x及更高版本中。因此,最有效的解决方案是根据https://stackoverflow.com/a/31394257/1375574直接访问buf.buffer属性。.Buffer构造函数还需要一个ArrayBufferView参数,如果你需要去另一个方向。请注意,这不会创建副本,这意味着对任何ArrayBufferView的写入都会