问题标签 [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.
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 的理解是,从服务器发送的字节表示由 Blob 构造函数重构,并且数组缓冲区应该正确地从服务器发送字节数组。那为什么Uint8Array
工作正常,但不行Int16Array, Uint16Array, Int32Array and Uint32Array
呢?
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 吗?
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 下载它。但它让我损坏了文件。
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
javascript - 使用 fetch 和 async/await 加载画布后在画布上绘制图像的问题
我尝试使用 fetch 和 async/await 加载图像并将其显示在画布上,但它不起作用。图像未在画布上绘制。它正确加载到 HTML 中的 img 元素中。在画布上,如果我将绘图代码包装在 setTimeout 中,它可以工作,但我不想这样做。
有没有办法使用等待加载图像并在没有 setTimeout 的情况下在画布上绘制和绘制?
这是代码:
javascript - 从浏览器中清除 blob 和数据 url
我们目前有一个基于 NodeJS 的网络应用程序,其中收集数据并使用 plotlyJS 将其图表显示为图像。下面显示的是一个这样的代码片段,它将数据图表创建为图像并使用生成的 URL 来更新相应的元素(每秒发生一次)。
这部分代码按预期工作,但留下了一系列 URL。精确的 blob 和数据 URL,如下面的屏幕截图所示。
随着时间的推移,这些 URL 会淹没浏览器内存,并在一段时间后导致崩溃。 运行应用程序几秒钟后堆叠的 URL
重新加载页面有帮助,但不友好。试过https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL但似乎没有帮助。您能否建议如何从当前实例中清除这些 URL。期待建议,谢谢!