Object URL(MDN定义名称) 又称 Blob URL(W3C定义名称),是HTML5中的新标准。
Object URL是一个用来表示物件的URL,这个物件通常是特定的File object 或 Blob Object。
Object URL的储存机制是利用GUID向浏览器提取档案物件,格式为
GUID = Globally Unique Identifier(全域唯一识别码)。是一种由演算法生成的唯一标识,通常表示成32个16进位数字(0-9,A-F)组成的字串
Ex. 21EC2020-3AEA-1069-A2DD-08002B30309D
资料来源:wiki
https://caniuse.com/?search=createObjectURL
File API中,定义了global的object:URL
,它包含了两个方法:createObjectURL()
和 revokeObjectURL()
透过createObjectURL,可以接收一个File 或 Blob objet,并回传一段URL。这个URL就是浏览器建立关联到本地端档案的连结。
index.html
<input type="file" @change="updateFile">
customize.js (用vue.js中的methods)
updateFile(e){
let [_file] = e.target.files;
console.log('open file', e.target.files)
console.log('_file',_file);
let _url = window.URL.createObjectURL(_file);
console.log('_url',_url);
}
把createObjectURL的URL贴到网址列上,就可以看到原图(哇!是可爱的小小兵~~)
释放createObjectURL()创建的已存在的URL。当已经完成Object URL的使用并且不希望浏览器保留对该档案时,将会用到此方法
window.URL.revokeObjectURL(objectURL);
透过Object URL,图档不需要传到後端即可透过Object URL预览。
Data URI (统一资源标识符) = Uniform Resource Identifier
Data URI 是一种档案格式,主要是由base64编码之後,将档案转换成文字的方式来储其资料。
text/plain,
text/html,
text/html;base64,
text/css,
text/css;base64,
text/javascript,
text/javascript;base64,
image/gif;base64,
image/png;base64,
image/jpeg;base64,
image/x-icon;base64
范例如下
将图片嵌入网页上
Object URL和 Data URI一样都可以把图档透过前端转换成可以preview的状态。但Data URI会需要透过整个档案的转换之後才能做到preview;而Objet URL则是透过URL参考到本地的档案做显是。所以如果是在图档预览的部分,其实可以考虑用Object URL会更为简洁方便
https://medium.com/cubemail88/data-uri-%E5%89%8D%E7%AB%AF%E5%84%AA%E5%8C%96-d83f833e376d
<<: Day 0x12 - 建立 Return URL 的画面
大家好,今天是第三十二天,也是赛程结束後的第二天。 昨天介绍了我们会在Webview里使用的套件,今...
在建置ELB前,我们先多做一个步骤去完成昨天URL重写的步骤。 步骤 10 更改S3的bucket ...
外接硬碟一天到晚故障?云端硬碟资料常莫明奇妙消失? 虽然没什麽钱,但...... 图引自萌娘百科。内...
我将models内原本FileField的upload_to参数取消让他储存到预设的位置 这样在存入...
我们已经可以从顾客填写菜单、成立订单、一直到将订单送到老板手上。 这篇开始要来处理顾客填写订单时UX...