有没有一种方法可以从chrome'的存储映像
Is there a way to get an url out of a chrome's storage image?
我正在构建一个Chrome应用程序,我从一个XMLHTTPREQUEST获得一个.png文件,该文件稍后使用Chrome.storage API本地存储,因此我可以稍后使用它,以防使用该应用程序的人可以在不连接互联网的情况下访问它。问题是,在html中,你总是需要一个指定图像存储位置的url,我已经尝试过从chrome存储中存储的.png文件中获取url,但什么都不起作用。
我正在寻求一种方法,从存储的图像中获得一个在html img中使用的url。
这是我获取.png文件并将其存储在chrome存储中的代码。
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://siteurl.com/image.png', true);
xhr.responseType = 'image/png';
xhr.onload = function(e) {
chrome.storage.local.set({'iconImage':this.response}, function() {
console.log('Image Saved');
});
};
xhr.send();
这是将图像从存储器中取出的代码。
chrome.storage.local.get(function(image){
var img = image.iconImage;
//here is where I need to create the url so I can use it to
display the image in a <img>
});
如果我的英语听不懂的话,谢谢你,也很抱歉。
chrome.storage.local
只是一个键:值存储。它没有提供任何使用URL访问值的方法。
如果你需要将图像存储在URL可以引用的地方,你可以做两件事之一:
-
如果你想把它保存在
chrome.storage
中,只制作一个临时URL(当你关闭应用程序时会丢失),你可以把数据读取到ArrayBuffer中,并从中构建一个Blob对象。您可以从Blob中获取URL,但它只是表示内存中对象的句柄,所以不要指望您可以保存该URL并永远使用它。当应用程序关闭时,内存将被回收,旧的Blob URL下次将无效。
-
如果您希望将其永久存储在某个位置,以便保存URL并在将来使用它,则可以使用文件API将其写入文件系统。
文件对象有一个
.toURL
方法,它将返回一个可用的URL。该URL将指向一个实际的文件,即使在您重新启动应用程序后(直到您选择删除该文件),它也将有效
相关文章:
- 如何使jQuery中的悬停函数单独应用于数据库映像
- 无法在Safari中加载跨源映像(来自CloudFront)
- 有没有一种方法可以从chrome'的存储映像
- 如何在不必维护每个文件的两个版本的情况下,将通用JavaScript和映像部署到两个不同的EAR
- 在使用 Django 静态文件时动态设置映像时,只有绝对路径才能与 jquery 一起使用
- 获取我的数组中的每个 ID 映像 src
- 映像选取器在初始化时预选项
- 循环映像 IE7 问题
- 本地映像对象未在Javascript中正确初始化
- PHP抓取没有扩展的远程映像
- 如何在ASP.NET Response.BinaryWrite生成的Javascript中处理字节数组映像
- JQuery Error在出现错误时加载备用映像的事件
- 要映像的 Blob URL
- appendChild dataURI映像到window.open在IE中失败
- 在MySQL中存储映像路径与使用<img src=“"onError=“">
- 如何侦听跨域映像请求上的任何301/302重定向状态代码
- THREE.js:跨来源资源共享策略拒绝跨来源映像加载
- 将映像存储到本地存储
- Chrome上使用THRE.js的本地映像上的跨源映像加载被拒绝
- 根据引导程序中的父映像重新缩放映像