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

JavaScript中URL.createObjectURL和Blob實現(xiàn)保存文件

 更新時間:2025年07月17日 10:23:43   作者:Mr.怪獸  
本文介紹了利用JavaScript中的Blob對象和URL.createObjectURL方法在瀏覽器端創(chuàng)建文件并實現(xiàn)下載功能,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1.實現(xiàn)原理

生成blob對象,再使用URL.createObjectURL() 創(chuàng)建一個非跨域的數(shù)據(jù)源,然后在頁面寫入a標(biāo)簽支持下載。

Blob表示二進(jìn)制類型的大對象,通常是影像、聲音或多媒體文件0。

通過URL.createObjectURL(blobVal) 獲取要保存的文件的一個URL,這個URLhash,保存在內(nèi)存中。

通過URL.revokeObjectURL()來釋放這個object URL,通知瀏覽器不再繼續(xù)引用這個文件

跨域文件下載處理方法:

  1. download 就是跨域的問題,如果加載了非同源的內(nèi)容,該屬性會失效不能下載,只會在瀏覽器中導(dǎo)航到該內(nèi)容。
  2. 在服務(wù)器設(shè)置 Content-Disposition 使用HTTP響應(yīng)頭 Content-Disposition 進(jìn)行處理。
  3. 先下載源數(shù)據(jù)文件,生成blob對象,再使用URL.createObjectURL()創(chuàng)建一個非跨域的數(shù)據(jù)源,然后在頁面寫入a標(biāo)簽支持下載。

2.代碼實現(xiàn)

<template>
  <div>URL.createObjectURL、Blob 實現(xiàn)保存文件</div>
  <button ref="btnRef">下載</button>
</template>
?
<script setup lang='ts'>
import {onMounted, ref} from 'vue'
?
let btnRef = ref()
let fileUrl = ''
?
onMounted(()=>{
    btnRef.value.addEventListener('click',()=>{
    let str = '這里時要保存的文字內(nèi)容'
    const blobVal = new Blob([str],{type:'text/plain'})
    console.log(blobVal);
?
    // 創(chuàng)建了一個blob 的地址
    fileUrl = URL.createObjectURL(blobVal)
    console.log(fileUrl);
        
?
    let aDom = document.createElement('a')
    // 第一種寫法
    // aDom.setAttribute('href',fileUrl)
    // aDom.setAttribute('download','導(dǎo)出文件.txt')
    // 第二種寫法
    aDom.href = fileUrl
    aDom.download = '導(dǎo)出文件.txt'
    aDom.click()
    URL.revokeObjectURL(fileUrl)
    
?
    })
})
?
</script>
<style scoped lang='less'>
</style>

3.結(jié)果顯示

到此這篇關(guān)于JavaScript中URL.createObjectURL和Blob實現(xiàn)保存文件的文章就介紹到這了,更多相關(guān)URL.createObjectURL和Blob保存文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入理解JS DOM事件機(jī)制

    深入理解JS DOM事件機(jī)制

    下面小編就為大家?guī)硪黄钊肜斫釰S DOM事件機(jī)制。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • JavaScript Array對象基本方法詳解

    JavaScript Array對象基本方法詳解

    這篇文章主要介紹了JavaScript Array對象基本方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • 淺談JavaScript中this的指向更改

    淺談JavaScript中this的指向更改

    這篇文章主要介紹了淺談JavaScript中this的指向更改,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • JavaScript中promise的使用解釋

    JavaScript中promise的使用解釋

    這篇文章主要介紹了JavaScript中promise的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 情人節(jié)單身的我是如何在敲完代碼之后收到12束玫瑰的(javascript)

    情人節(jié)單身的我是如何在敲完代碼之后收到12束玫瑰的(javascript)

    這篇文章主要介紹了情人節(jié)單身的我是如何在敲完代碼之后收到12束玫瑰的,感興趣的朋友一起來學(xué)習(xí)下
    2015-08-08
  • JS之Array構(gòu)造函數(shù)上的靜態(tài)方法與實例解讀

    JS之Array構(gòu)造函數(shù)上的靜態(tài)方法與實例解讀

    本文詳細(xì)介紹了JavaScript Array對象的實例方法和靜態(tài)方法,包括Array.prototype.at()、concat()、entries()、every()等實例方法,以及from()、fromAsync()、isArray()、of()等靜態(tài)方法,實例方法主要用于數(shù)組操作和處理,如查找、合并、轉(zhuǎn)換等
    2026-04-04
  • javascript sudoku 數(shù)獨(dú)智力游戲生成代碼

    javascript sudoku 數(shù)獨(dú)智力游戲生成代碼

    javascript sudoku 數(shù)獨(dú)智力游戲生成代碼,喜歡的朋友可以參考下。
    2010-03-03
  • 只需一行代碼,輕松實現(xiàn)一個在線編輯器

    只需一行代碼,輕松實現(xiàn)一個在線編輯器

    在瀏覽器地址欄中輸入一行代碼:data:text/html, <html contenteditable> ,回車即可把瀏覽器變臨時編輯器(需要瀏覽器支持 HTML5 屬性 contenteditable)
    2013-11-11
  • 最新評論

    体育| 梨树县| 扶余县| 静宁县| 永修县| 西昌市| 高州市| 利辛县| 贺兰县| 大邑县| 枣庄市| 故城县| 呈贡县| 原平市| 钟山县| 青浦区| 中阳县| 临清市| 夹江县| 湘潭市| 美姑县| 水城县| 阳原县| 永和县| 阿克陶县| 上蔡县| 贡觉县| 阿鲁科尔沁旗| 霞浦县| 龙山县| 剑阁县| 丹阳市| 德惠市| 定远县| 抚顺市| 桂林市| 临湘市| 临澧县| 梁河县| 南靖县| 收藏|