问题标签 [bloburls]

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 投票
0 回答
48 浏览

javascript - Blob URL 生成混乱

我正在使用以下代码为图像生成 blob URL:

JSON 响应来自发送图像二进制数据的字节表示的 Java 代码。Java 中的字节是 8 位有符号整数。所以第 1 行工作正常但是当我用let arrayBufferView = new Uint8Array(this.response);它替换第 1 行时仍然可以正常工作。从 Java 签名的 8 位将如何转换为 Uint8Array(这是一个 8 位无符号数组视图)。

然后我尝试了以下 ArrayBuffer 其他变体的代码:

对于上述四个 ArrayBuffer,不会生成 blob URL,以及为什么它适用于let arrayBufferView = new Uint8Array(this.response).

我对 blob URL 的理解是,从服务器发送的字节表示由 Bl​​ob 构造函数重构,并且数组缓冲区应该正确地从服务器发送字节数组。那为什么Uint8Array工作正常,但不行Int16Array, Uint16Array, Int32Array and Uint32Array呢?

0 投票
1 回答
126 浏览

c++ - C ++从blob URL下载音频/视频文件?

我有一个带有 C++ 驱动后端的 Angular 前端。我希望 C++ 后端从前端创建的 blob URL 中获取文件(使用 URL.CreateObjectURL)。

我尝试过使用 URLDownloadToFile:

以及卷曲:

这两种方法都适用于传统的文件 URL(我用这个公共文件进行了测试),但我的 blob URL 失败了。URLDownloadToFile 将“指定的协议未知”作为 HRESULT 和 curl sau 给出“CURLE_COULDNT_RESOLVE_HOST”。

我已通过浏览器确认在我尝试打开 blob URL 时它仍然可用。

我需要做任何不同的事情来获得 blob 吗?

0 投票
1 回答
1213 浏览

ios - 如何处理 WKWebView 中的 blob url 并下载文件?

我需要在 WKWebView 中实现文件下载。

我的示例实现:

它适用于 iOS >= 14.5 并且当响应是文件时。但是当 url 是 blob(例如"blob:http://example.com/bd0ae6c8-796c-488e-b691-cee86fa72f04")时,它不适用于 iOS < 14.5。

返回不受支持的 URL 错误。

我尝试处理和下载与 android 中相同的 blob url(android示例):

此代码在 Android 上运行良好,但在 iOS 上xhr.onload未调用。它xhr.onerror以状态 0 和空 responseText 调用。

我还尝试从 blob url 中删除“blob:”。 "blob:http://example.com/bd0ae6c8-796c-488e-b691-cee86fa72f04"->"http://example.com/bd0ae6c8-796c-488e-b691-cee86fa72f04"并使用 URLSession 下载它。但它让我损坏了文件。

我曾尝试添加 LSApplicationQueriesSchemes blob,但它对我没有帮助。 在此处输入图像描述

0 投票
0 回答
26 浏览

html - 为什么无法从 blob url 下载文件?

我正在尝试找到一种下载 youtube 视频的方法,但每当我找到一种一致的方式时,它最终都会不可避免地崩溃。在 youtube 中,在<video>标签下,有一个source带有 blob url 的标签(例如:)blob:https://www.youtube.com/05e06b61-c6b4-4719-bfd7-6c64e565343c。按照我的理解,blob url 是对我自己机器上内存的引用,那么为什么我不能简单地访问那里的文件呢?

我尝试创建一个<a>标签,将 href 设置为 blob url,但单击它只会引发跨域策略错误,即使在禁用后也是如此security.fileuri.strict_origin_policy

0 投票
2 回答
73 浏览

javascript - 使用 fetch 和 async/await 加载画布后在画布上绘制图像的问题

我尝试使用 fetch 和 async/await 加载图像并将其显示在画布上,但它不起作用。图像未在画布上绘制。它正确加载到 HTML 中的 img 元素中。在画布上,如果我将绘图代码包装在 setTimeout 中,它可以工作,但我不想这样做。

有没有办法使用等待加载图像并在没有 setTimeout 的情况下在画布上绘制和绘制?

这是代码:

0 投票
1 回答
22 浏览

javascript - 从浏览器中清除 blob 和数据 url

我们目前有一个基于 NodeJS 的网络应用程序,其中收集数据并使用 plotlyJS 将其图表显示为图像。下面显示的是一个这样的代码片段,它将数据图表创建为图像并使用生成的 URL 来更新相应的元素(每秒发生一次)。

这部分代码按预期工作,但留下了一系列 URL。精确的 blob 和数据 URL,如下面的屏幕截图所示。

调试器工具的输出显示生成的 blob 和数据 URL

随着时间的推移,这些 URL 会淹没浏览器内存,并在一段时间后导致崩溃。 运行应用程序几秒钟后堆叠的 URL

重新加载页面有帮助,但不友好。试过https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL但似乎没有帮助。您能否建议如何从当前实例中清除这些 URL。期待建议,谢谢!