最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于JavaScript的URL.createObjectURL()的使用方法

 更新時間:2023年04月25日 08:33:03   作者:小太陽...  
這篇文章主要介紹了關(guān)于URL.createObjectURL()的使用方法,使用createObjectURL可以節(jié)省性能并更快速,只不過需要在不使用的情況下手動釋放內(nèi)存,還不清楚的朋友一起來看看吧

URL.createObjectURL() 靜態(tài)方法會創(chuàng)建一個 DOMString,其中包含一個表示參數(shù)中給出的對象的URL。這個 URL 的生命周期和創(chuàng)建它的窗口中的 document 綁定。這個新的URL 對象表示指定的 File 對象或 Blob 對象。

URL.createObjectURL(blob)和FileReader.readAsDataURL(file)很相似,下面是個人的一些理解,如有不正確的地方,歡迎指出:

主要區(qū)別

  • 通過FileReader.readAsDataURL(file)可以獲取一段data:base64的字符串
  • 通過URL.createObjectURL(blob)可以獲取當前文件的一個內(nèi)存URL

執(zhí)行時機:

  • createObjectURL是同步執(zhí)行(立即的)
  • FileReader.readAsDataURL是異步執(zhí)行(過一段時間)

內(nèi)存使用:

  • createObjectURL返回一段帶hash的url,并且一直存儲在內(nèi)存中,直到document觸發(fā)了unload事件(例如:document close)或者執(zhí)行revokeObjectURL來釋放。
  • FileReader.readAsDataURL則返回包含很多字符的base64,并會比blob url消耗更多內(nèi)存,但是在不用的時候會自動從內(nèi)存中清除(通過垃圾回收機制)

兼容性方面兩個屬性都兼容ie10以上的瀏覽器。

優(yōu)劣對比:

  • 使用createObjectURL可以節(jié)省性能并更快速,只不過需要在不使用的情況下手動釋放內(nèi)存
  • 如果不太在意設(shè)備性能問題,并想獲取圖片的base64,則推薦使用FileReader.readAsDataURL

使用方式:

objectURL = URL.createObjectURL(blob);

示例

html 文件

<input type="file" id="btn" accept="image/*" value="點擊上傳" />
<img id="img"/>

js 文件

btn.addEventListener('change',function(){
	let file = this.files[0];
	// 進一步防止文件類型錯誤
	if(!/image\/\w+/.test(file.type)){  
        alert("看清楚,這個需要圖片!");  
        return false;  
    }  
	img.src = URL.createObjectURL(file)
})

到此這篇關(guān)于關(guān)于URL.createObjectURL()的使用方法的文章就介紹到這了,更多相關(guān)URL.createObjectURL()用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

成安县| 木兰县| 英德市| 饶平县| 望奎县| 靖远县| 康马县| 马山县| 武鸣县| 江油市| 泾源县| 故城县| 姚安县| 龙川县| 大石桥市| 汉沽区| 普格县| 正镶白旗| 金阳县| 新绛县| 马尔康县| 孙吴县| 博湖县| 绥滨县| 民县| 陵川县| 义乌市| 尼木县| 浦城县| 望谟县| 太谷县| 柳林县| 苏尼特右旗| 北宁市| 介休市| 扎鲁特旗| 金寨县| 清远市| 布拖县| 英德市| 名山县|