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

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

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

1.實(shí)現(xiàn)原理

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

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

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

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

跨域文件下載處理方法:

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

2.代碼實(shí)現(xiàn)

<template>
  <div>URL.createObjectURL、Blob 實(shí)現(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 = '這里時(shí)要保存的文字內(nèi)容'
    const blobVal = new Blob([str],{type:'text/plain'})
    console.log(blobVal);
?
    // 創(chuàng)建了一個(gè)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實(shí)現(xiàn)保存文件的文章就介紹到這了,更多相關(guān)URL.createObjectURL和Blob保存文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

    JavaScript Array對(duì)象基本方法詳解

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

    淺談JavaScript中this的指向更改

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

    JavaScript中promise的使用解釋

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

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

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

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

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

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

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

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

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

    新源县| 无棣县| 汉川市| 安达市| 惠州市| 瑞丽市| 丽江市| 龙陵县| 年辖:市辖区| 青浦区| 郎溪县| 宁波市| 政和县| 临朐县| 龙井市| 乌拉特后旗| 莒南县| 松阳县| 陵川县| 姚安县| 宜黄县| 阳泉市| 皮山县| 武山县| 蕲春县| 沙河市| 永善县| 六安市| 林芝县| 济南市| 牟定县| 靖宇县| 陕西省| 云和县| 洪雅县| 珲春市| 铜川市| 东乌珠穆沁旗| 响水县| 类乌齐县| 万载县|