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()
创建的URLobjectURL
在创建它的文档的生存期内存在于创建它的窗口中
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。这与OPblob: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]);
};