我有两个函数可在Blob和字节数组之间进行转换:function arrayToBlob(data) {return new Blob(data); }function blobToArray(data, callback) {let reader = new FileReader();reader.addEventListener("loadend", function() {callback(Array.from(new Uint8Array(reader.result)));});reader.readAsArrayBuffer(data); }(blobToArray进行回调,因为它需要设置事件侦听器.) 我希望这些函数彼此相反,但是当我运行时blobToArray(arra...
在我的电子应用程序中,用户可以使用MediaRecorder API从网络摄像头录制视频. 当用户点击“停止录制”按钮时,我得到了录制的视频的斑点. 我想做的就是将这个Blob转换为真实的webm视频,并将其写入用户的文件系统中,例如:fs.writeFile(localdir + '\\video.webm', videoBlob); // does not work下面的示例非常适合我从网络摄像头获取的base64图像快照,但是我无法使其与我获取的视频blob一起使用. 谢谢赐教!解决方法:创建一个视频Blo...
我正在创建一个Electron Application,用于在其中记录来自摄像头和桌面的数据,在记录会话结束时,我想将数据保存到后台文件中.我不知道如何将数据从Blob直接写入文件.有什么建议么?以下是我目前对MediaRecord Stop事件的处理.this.mediaRecorder.onstop = (e) => { var blob = new Blob(this.chunks, { 'type' : 'video/mp4; codecs=H.264' }); ...
此代码用于通过Blob下载pdf.除了适用于macOS和iOS的Safari 12,它在所有浏览器上均可正常运行.甚至Safari 11也可以使用.当我第一次运行代码时,它可以正常工作,但是每次之后它都给我“ WebKitBlobResource错误1”function downloadFileFromBlob(fileBlob, fileName) {if (/\bMSIE\b|\bTrident\b/.test($window.navigator.userAgent)) {$window.navigator.msSaveOrOpenBlob(fileBlob, fileName);} else {var fileURL = $window.URL.cr...
我尝试创建一个Blob对象,并将Uint8Array传递给它的构造函数在Windows上的chrome和firefox上工作正常但是,在iOS上的chrome和safari中,Blod不包含Uint8Array的数据,而是文本:[object Uint8Array] 我需要将画布上传到服务器. 有解决方法吗?解决方法:我正在为完全相同的问题而苦苦挣扎.当我使用ArrayBuffer备份Uint8Array时,它在Safari和Chrome中都可以工作(尚未在其他浏览器中进行测试),但Chrome会显示警告消息. Chrome表示,在将Arr...
可以使用window.URL.createObjectURL()从流中获取URL,如下面的代码所示.navigator.getUserMedia({ video: true, audio: true }, function (localMediaStream) {var video = document.querySelector('video');video.src = window.URL.createObjectURL(localMediaStream);video.onloadedmetadata = function (e) {// Do something with the video here.}; }, function (err) {console.log("The following error occured: " + err); ...
我正在使用:https://pdfobject.com/ 在我的Web应用程序上显示嵌入的pdf文件.但是我无法渲染从blob创建的pdf. 这就是我尝试过的:var arrayBufferView = new Uint8Array(response.Body.data); var file = new Blob([arrayBufferView], {type: response.ContentType }); var url = window.URL.createObjectURL(file) PDFObject.embed(url, "#my-container");在html上获取这个结果:<div id="my-container" class="ng-scope pdfobjec...
我试图将一些链接到网页的图像保存到离线存储.我在Firefox上使用IndexedDB,在Chrome上使用FileSystem API.我的代码实际上是一个扩展,因此在Firefox上我运行在Greasemonkey上,在Chrome上运行作为内容脚本.我希望这是自动化的. 我在检索图像文件时遇到了问题.我正在使用标题为Storing images and files in IndexedDB的文章中的示例代码,但是我收到一个错误:我正在尝试下载的图像位于不同的子域中,并且XHR失败.XMLHttpRequest cannot...
我想用uri填充图像.我从服务器请求图像,它返回一个BLOB. BLOB显示到控制台时: 然后我将BLOB转换为具有以下行的URL:var blobUrl = URL.createObjectURL(blob); blobUrl显示到控制台时 然后我尝试使用URL填充图像:<Image source={{uri: blobURL}} style={{width: 100, height: 50}} />图像不会显示.我该怎么办? 我正在使用连接到localhost的android模拟器.可能与BLOB url存储到localhost的情况有关吗? 或者它可能是一个简单的语...
尝试将blob对象发送到我的节点服务器.在客户端,我正在使用MediaRecorder录制一些音频,然后我想将文件发送到我的服务器进行处理.saveButton.onclick = function(e, audio) {var blobData = localStorage.getItem('recording');console.log(blobData);var fd = new FormData();fd.append('upl', blobData, 'blobby.raw');fetch('/api/test',{method: 'post',body: fd}).then(function(response) {console.log('done');return respons...
我正在尝试使用HTML5,WebSocket和File API进行一些实验.我正在使用Tomcat7 WebSocket实现.我能够从servlet发送和接收短信.我现在要做的是从servlet发送到客户端JSON对象,但我想避免文本消息,以便跳过客户端上的JSON.parse(或类似),所以我试图发送二进制消息.servlet部分非常简单:String s = "{arr : [1,2]}"; CharBuffer cbuf = CharBuffer.wrap(s); CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder(); ...
我有一个项目,我需要在浏览器中显示djvu模式. 我发现这个旧的library on Github,据我所知,它将djvu文件转换为bmp,然后将它们放入canvas元素中. 正如我所说,库是旧的(最后提交是5年前),所以我需要做一些修正.主要问题是lib使用过时的BlobBuilder. 我为解决这个问题而采取的步骤: >通过Chrome DevTools解压缩此库>初始错误位于第3774行var c =“undefined”!= typeof MozBlobBuilder? MozBlobBuilder:“undefined”!= typeof We...
我正在尝试实现一个粘贴处理程序来从用户的剪贴板中获取图像.我希望这只能在Google Chrome上运行,我并不担心其他浏览器. 这是我在互联网上找到的一种方法的一部分,我正在努力调整它.// Get the items from the clipboard var items = e.clipboardData.items;if (items) {// Loop through all items, looking for any kind of imagefor (var i = 0; i < items.length; i++) {if (items[i].type.indexOf("image") !== -1) {// We nee...
在javascript中,我正在从数组创建一个blob,如下所示:const a = new Blob([[1,2,3]]);当我尝试保存这个blob时:this.afs.collection('events').doc(event.getID()).set({data: new Blob([[1,2,3]])}).then((some) => {debugger;})我收到一个错误:DocumentReference.set() called with invalid data. Unsupported field value: a custom Blob object (found in field data)我该怎么做才能通过JS将blob保存到Firestore?解决方法:你...
我使用此代码从服务器下载excel文件.$.ajax({headers: CLIENT.authorize(),url: '/server/url',type: 'POST',contentType: "application/json; charset=utf-8",data: JSON.stringify(jsonData),success: function (data) {alert('Data size: ' + data.length);var blob = new Blob([data], { type: "application/vnd.ms-excel" });alert('BLOB SIZE: ' + data.length);var URL = window.URL || window.webkitURL;var downloadUrl =...