Javascript 指向图像的Blob URL

Javascript 指向图像的Blob URL,javascript,canvas,blob,Javascript,Canvas,Blob,如何“保存”此图像 blob:https%3A//theta360.com/473c6400-b8e7-4c41-8f7a-90f03cbc8787 可在以下网址找到: 我尝试了在SO上找到的一些脚本,它使用了canvas.toDataURL 但我有一个错误: 不允许加载本地资源:blob:https%3A//theta360.com/473c6400-b8e7-4c41-8f7a-90f03cbc8787 Javascript: var url = "blob:https%3A//theta3

如何“保存”此图像

blob:https%3A//theta360.com/473c6400-b8e7-4c41-8f7a-90f03cbc8787

可在以下网址找到:

我尝试了在SO上找到的一些脚本,它使用了
canvas.toDataURL

但我有一个错误:

不允许加载本地资源:blob:https%3A//theta360.com/473c6400-b8e7-4c41-8f7a-90f03cbc8787

Javascript:

var url = "blob:https%3A//theta360.com/473c6400-b8e7-4c41-8f7a-90f03cbc8787"; // document.getElementById("img1").src; // 'img1' is the thumbnail - I had to put an id on it
var canvas = document.getElementById("MyCanvas");
var img = new Image();
img.src = url;
img.onload = function () {
    var myImage = canvas.toDataURL("image/jpg");
    document.getElementById("dataurl").value = myImage;
}
HTML:

此浏览器或文档模式不支持画布

无法从其他来源请求由
URL.createObjectURL()
创建的URL
objectURL
在创建它的
文档的生存期内存在于创建它的
窗口中

URL.createObjectURL()
静态方法创建一个
DOMString
包含表示参数中给定对象的URL。网址 生存期绑定到文档所在窗口中的
文档
创建。新对象URL表示指定的
文件
对象或
Blob
对象


我发现了如何获取图像,但这与编程无关


使用
chrome://cache/
并搜索
equirectangle\u web\u optimized

我这样做是为了获得BLOB Url(file.localDataUrl)的道具大小


尝试将
%3A
替换为
。在任何情况下,您都可以通过创建
a
元素来保存URL,将其
下载
属性设置为
图像.jpg
,将其
href
属性设置为该URL,然后单击它(使用
.click()
)。不,这不起作用<代码>
**失败。没有文件似乎没有任何
“blob:https%3A//theta360.com/473c6400-b8e7-4c41-8f7a-90f03cbc8787”?无法从其他来源请求
objectURL
;请参阅@dandavis上的“安全和其他注意事项”,如果没有弄错的话,这就是OP试图实现的目标。也就是说,访问页面,复制
objectURL的url
,尝试从其他来源下载url。非常有趣。。因此,图像将加载到浏览器缓存中,并在页面卸载时删除。由于域安全原因,无法访问映像!-我一直想知道如何为那些很久没有缓存的图像提供服务。很酷。缓存呢?可以从浏览器缓存中提取数据吗?@FFish“因此图像将加载到浏览器缓存中,并在卸载页面时删除。由于域安全原因,无法访问图像。”是的。请注意,objectURL可能会一直存在,直到您硬刷新原始文档(仅关闭窗口或简单刷新不会释放它). 因此,一旦不再需要objectURL(通常在加载时),就需要调用
revokeObjectURL
。@guest271314 hum否。只要调用
revokeObjectURL
,就释放objectURL。你不能再加载了。当然,它不会清除已经加载的(无论是在
标记还是新窗口中)。使页面中定义的每个对象在删除之前都可用的对象。一个垃圾收集器将被清除。也许“内存”比缓存更好地描述它。但关键是,您仍然可以获得数据,但不是来自创建的url。这与OP
blob:https%3A//theta360.com/473c6400-b8e7-4c41-8f7a-90f03cbc8787中描述的url不同?在链接页面上找不到原始问题引用的url?链接页面上的
blob:
url在哪里?
<canvas id="MyCanvas">This browser or document mode doesn't support canvas</canvas>
<input id="dataurl" name="dataurl" type="text" size="50" />
    const img = new Image();
    img.src = file.localDataUrl;

    img.onload = (a) => {
        console.log(a);
        console.log([a.path[0].width, a.path[0].height]);
    };