国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端下載文件(Blob)的幾種方式使用Blob下載文件

這篇具有很好參考價(jià)值的文章主要介紹了前端下載文件(Blob)的幾種方式使用Blob下載文件。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前端下載文件的幾種方式 使用Blob下載文件

在前端下載文件是個(gè)很通用的需求,一般后端會(huì)提供下載的方式有兩種:

1.直接返回文件的網(wǎng)絡(luò)地址(一般用在靜態(tài)文件上,比如圖片以及各種音視頻資源等)
2.返回文件流(一般用在動(dòng)態(tài)文件上,比如根據(jù)前端選擇,導(dǎo)出不同的統(tǒng)計(jì)結(jié)果 excel 等)

第一種方式比較簡單,但是使用場景有限。
第二種方式通用性更好

我們先一下第一種的使用場景:

- a鏈接
<a href="https://www.baidu.top.pdf">下載文件</a>

我們可以通過download屬性,可以實(shí)現(xiàn)對下載的文件進(jìn)行重命名。

<a href="https://www.baidu.top.pdf" download="附件.pdf">下載文件</a>
- 還可以使用編程式的寫法:

1.location的href

<script>
  function Download() {
    window.location.href = 'www.baidu.pdf'
  }
</script>

2.window.open

<script>
  function Download() {
    window.open('www.baidu.pdf')
  }
</script>

億點(diǎn)小知識(shí):在使用window.open的時(shí)候在除Google Chrome 瀏覽器會(huì)攔截內(nèi)容但在其他瀏覽器是可以直接下載的

  • 如果要想Google Chrome 設(shè)置里面更改

第二種 使用blob文件流下載

  <script>
    function Download() {
      axios({
        url: "www.baidu.pdf",
        method: 'GET',
        responseType: 'blob', // 這里就是轉(zhuǎn)化為blob文件流
        headers: {
          token: 'sss'     // 可以攜帶token
        }
      }).then(res => {
        const href = URL.createObjectURL(res.data)
        const box = document.createElement('a')
        box.download = '附件.pdf'
        box.href = href
        box.click()
      })
    }
  </script>

下面封裝了一個(gè) blob的方法邏輯 感興趣的可以參考一下

 // 下載
  const DownloadFile = (row: any) => {
    contractApi
      .xxxApi({ fullFileName: row.filePath })
      .then((blob: any) => {
        row.fileFormat = row.filePath.split('.')[row.filePath.split('.').length - 1]
        download(blob, row.fileFormat, row.fileName)
      })
  }
export function download(file: any, fileType: string, fileName?: string) {
  const blob = new Blob([file], { fileType})
  const downloadElement = document.createElement('a')
  const href = window.URL.createObjectURL(blob) // 創(chuàng)建下載的鏈接
  downloadElement.href = href
  downloadElement.download = fileName // 下載后文件名
  document.body.appendChild(downloadElement)
  downloadElement.click() // 點(diǎn)擊下載
  document.body.removeChild(downloadElement) // 下載完成移除元素
  window.URL.revokeObjectURL(href) // 釋放掉blob對象
}

以上就是前端下載文件的幾種方式的屬性和用法感謝大家的閱讀
如碰到其他的問題 可以私下我 一起探討學(xué)習(xí)
如果對你有所幫助還請點(diǎn)贊 收藏謝謝~!
關(guān)注收藏博客 作者會(huì)持續(xù)更新…文章來源地址http://www.zghlxwxcb.cn/news/detail-469274.html

到了這里,關(guān)于前端下載文件(Blob)的幾種方式使用Blob下載文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java如何實(shí)現(xiàn)下載文件的幾種方式

    版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。 本文鏈接:https://blog.csdn.net/Boy_Martin/article/details/126058565

    2024年02月13日
    瀏覽(30)
  • 前端npm, yarn, pnpm下載速度太慢,設(shè)置國內(nèi)鏡像源的幾種方式,讓其速度飛起來

    ?一、說明 在前端開發(fā)的時(shí)候使用國外的鏡像源速度很慢并且容易下載失敗,有時(shí)候需要嘗試多次才有可能下載成功,很麻煩,因此可以切換為國內(nèi)鏡像源,下面為常用的npm,yarn,pnpm切換國內(nèi)鏡像源(以淘寶為例)的方式。 ?二、NPM切換鏡像源 1. 查看當(dāng)前的鏡像源。 ``` npm c

    2024年02月10日
    瀏覽(29)
  • 前端幾種下載文件的方式(url方式和文件流方式)

    前端實(shí)現(xiàn)下載功能是依賴于瀏覽器特性,而非JS特性 前端如何實(shí)現(xiàn)文件下載,防止瀏覽器自動(dòng)打開可預(yù)覽文件 https://blog.csdn.net/weixin_46074961/article/details/105677732 1.location.href 下載文件–window-location-href 對于瀏覽器不能打開的文件(例如:.rar .doc等)是可以實(shí)現(xiàn)文件下載的,但是對于瀏

    2024年02月06日
    瀏覽(24)
  • 【前端】Vue之使用new Blob() 實(shí)現(xiàn)不同類型的文件下載

    【前端】Vue之使用new Blob() 實(shí)現(xiàn)不同類型的文件下載

    ??????? 在 Vue 項(xiàng)目實(shí)際開發(fā)過程中,經(jīng)常需要對各種各樣的類型進(jìn)行下載,因?yàn)槲也皇乔岸顺錾妥约涸诰W(wǎng)上學(xué)習(xí)最后使用到自己的項(xiàng)目當(dāng)中,代碼冗余等低級(jí)錯(cuò)誤還請多多指導(dǎo)。我發(fā)現(xiàn)用 Blob 二進(jìn)制進(jìn)行文件下載的比較多,我就采用了這一方式。 ????????下面是一

    2024年03月20日
    瀏覽(95)
  • Unity Android 之 讀取下載獲取移動(dòng)端 sdcard 路徑下的指定文件夾的所有圖片的幾種方式的簡單整理

    Unity Android 之 讀取下載獲取移動(dòng)端 sdcard 路徑下的指定文件夾的所有圖片的幾種方式的簡單整理

    目錄 Unity Android 之 讀取下載獲取移動(dòng)端 sdcard 路徑下的指定文件夾的所有圖片的幾種方式的簡單整理 一、簡單介紹 二、實(shí)現(xiàn)原理 三、注意事項(xiàng) 四、簡單實(shí)現(xiàn)步驟 五、關(guān)鍵代碼 附錄: 一、不同平臺(tái)使用宏區(qū)分路徑加載 二、Unity3D中的資源路徑 三、Unity3D各平臺(tái)路徑(包括手

    2024年01月19日
    瀏覽(140)
  • npm 下載的幾種方式

    1.npm install moduleName 模塊將會(huì)被安裝到node_modules 目錄下 不會(huì)把模塊依賴寫入devDependencies 或 dependencies 節(jié)點(diǎn) 運(yùn)行npm i 初始化項(xiàng)目時(shí)不會(huì)自動(dòng)下載 2.npm install --save moduleName 模塊將會(huì)被安裝到node_modules 目錄下 會(huì)將模塊依賴寫入 dependencies 節(jié)點(diǎn) 運(yùn)行npm i 初始化項(xiàng)目時(shí)會(huì)自動(dòng)下載 運(yùn)行

    2024年02月08日
    瀏覽(18)
  • 前端中對象的幾種創(chuàng)建方式

    前端中對象的幾種創(chuàng)建方式

    創(chuàng)建對象的幾種方式: 1.字面量方式 2.工廠模式 3.構(gòu)造函數(shù)模式 4.原型模式 缺點(diǎn):創(chuàng)建多個(gè)對象時(shí),需要重復(fù)代碼,不能復(fù)用。 作用:批量創(chuàng)建同類型對象,降低代碼冗余度。 缺點(diǎn):創(chuàng)建出的新對象,不知道是什么Person或者Animal類型,需看函數(shù)內(nèi)部代碼。 構(gòu)造函數(shù) 是一種特

    2023年04月08日
    瀏覽(17)
  • 前端技術(shù)中的幾種居中方式

    1、使用margin:0px auto可以使盒子水平居中,但要設(shè)置寬度。 2、在父元素中使用text-align:center可以將子元素設(shè)置水平居中,但子元素必須為行內(nèi)元素或行內(nèi)塊元素。 3、使用絕對定位,父相子絕的原則,在子元素中設(shè)置left:50%和transform:translateX(-50%)??梢圆辉O(shè)置寬高。 ? ? ? 這里

    2024年02月04日
    瀏覽(16)
  • 前端 mock 數(shù)據(jù)的幾種方式

    前端 mock 數(shù)據(jù)的幾種方式

    目錄 接口demo Better-mock just mock koa webpack Charles 總結(jié) ????????具體需求開發(fā)前,后端往往只提供接口文檔,對于前端,最簡單的方式就是把想要的數(shù)據(jù)寫死在代碼里進(jìn)行開發(fā),但這樣的壞處就是和后端聯(lián)調(diào)前還需要再把寫死的數(shù)據(jù)從代碼里刪除,最好的方式是無侵入的? m

    2024年02月17日
    瀏覽(20)
  • 前端實(shí)現(xiàn)動(dòng)畫的幾種方式簡介

    前端實(shí)現(xiàn)動(dòng)畫的幾種方式簡介

    這里只是做簡要介紹,屬于知識(shí)的拓展。每種方案的更詳細(xì)的使用方式需要各位自行了解。 大體上技術(shù)方案分為:CSS 動(dòng)畫、SVG 動(dòng)畫、CSS + SVG、JS 控制的逐幀動(dòng)畫、GIF 圖。 CSS 實(shí)現(xiàn)動(dòng)畫有兩種方式,一種是使用 trasition ;另一種是使用 animation 。 默認(rèn)情況下,當(dāng) CSS 中的屬性值

    2024年04月22日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包