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

vue項(xiàng)目下載文件重命名監(jiān)測(cè)進(jìn)度demo

 更新時(shí)間:2023年10月26日 10:49:04   作者:張旭超  
這篇文章主要為大家介紹了vue項(xiàng)目下載文件重命名監(jiān)測(cè)進(jìn)度demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

摘要

當(dāng)后臺(tái)返回一個(gè)文件地址給前端,需要前端下載并重命名,展示下載進(jìn)度。

使用技術(shù):ajax、blob、vue插件file-saver

插件

我們不做過多解釋,我們這里只是使用,這是插件教程地址:http://vuejscomponent.com/pac...

項(xiàng)目代碼

import FileSaver from 'file-saver'
// URL:文件存放地址,fileName:保存文件名稱,downloadType:保存文件格式
const singleFileDownload = (url, fileName, downloadType) => {
  return new Promise((resolve, reject) => {
    if (!url || !fileName) {
      reject('文件不存在')
      return
    }
    var xhr = new XMLHttpRequest()
    xhr.open('GET', url, true)
    xhr.responseType = 'blob'
    // 當(dāng)請(qǐng)求被發(fā)送到服務(wù)器時(shí),我們需要執(zhí)行一些基于響應(yīng)的任務(wù)。
    // 每當(dāng) readyState 改變時(shí),就會(huì)觸發(fā) onreadystatechange 事件。
    // onreadystatechange存儲(chǔ)函數(shù)(或函數(shù)名),每當(dāng) readyState 屬性改變時(shí),就會(huì)調(diào)用該函數(shù)。
    // readyState
    // 存有 XMLHttpRequest 的狀態(tài)。從 0 到 4 發(fā)生變化。
    // 0: 請(qǐng)求未初始化
    // 1: 服務(wù)器連接已建立
    // 2: 請(qǐng)求已接收
    // 3: 請(qǐng)求處理中
    // 4: 請(qǐng)求已完成,且響應(yīng)已就緒
    // 用true時(shí),表示發(fā)送異步請(qǐng)求,請(qǐng)規(guī)定在響應(yīng)處于 onreadystatechange 事件中的就緒狀態(tài)時(shí)執(zhí)行的函數(shù):
    xhr.onreadystatechange = () => {
      if (xhr.readyState === 4) {
        if (xhr.status === 200 || xhr.status === 0) {
          let file = null
          if (downloadType === 'pdf') {
            file = new Blob([xhr.response], { type: "application/pdf" });
          } else {
            file = new Blob([xhr.response], { type: "application/zip" });
          }
          FileSaver.saveAs(file, fileName)
          resolve('下載成功')
        } else {
          reject(new Error(fileName + '下載失敗'), null)
        }
      }
    }
    xhr.addEventListener('progress', (e) => {
      // e.total就是文件的總字節(jié) e.loaded就是文件已加載了多少字節(jié)了
      // downloadFile.progress = (e.loaded * 1.0 / e.total * 100).toFixed(2) + '%'
      // downloadFile.progress = (e.loaded / (1024 * 1024)).toFixed(2) + 'M/' + (e.total / (1024 * 1024)).toFixed(2) + 'M'
    })
    xhr.send()
  })
}

以上就是vue項(xiàng)目下載文件重命名監(jiān)測(cè)進(jìn)度demo的詳細(xì)內(nèi)容,更多關(guān)于vue文件下載進(jìn)度檢測(cè)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • nuxt實(shí)現(xiàn)封裝axios并且獲取token

    nuxt實(shí)現(xiàn)封裝axios并且獲取token

    這篇文章主要介紹了nuxt實(shí)現(xiàn)封裝axios并且獲取token,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 詳解Vue中狀態(tài)管理Vuex

    詳解Vue中狀態(tài)管理Vuex

    vuex是一個(gè)專門為vue.js設(shè)計(jì)的狀態(tài)管理模式,并且也可以使用devtools進(jìn)行調(diào)試。
    2017-05-05
  • Vue3雙token加密登錄及注冊(cè)方式

    Vue3雙token加密登錄及注冊(cè)方式

    本文介紹了雙Token機(jī)制在Vue3應(yīng)用中的實(shí)現(xiàn),包括登錄/注冊(cè)、請(qǐng)求攔截、響應(yīng)攔截、Token存儲(chǔ)、退出登錄等流程,重點(diǎn)是Token的刷新邏輯和安全性
    2025-03-03
  • 詳解vue如何給特殊字段設(shè)置插槽

    詳解vue如何給特殊字段設(shè)置插槽

    這篇文章主要為大家詳細(xì)介紹了vue如何實(shí)現(xiàn)給特殊字段設(shè)置插槽,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以學(xué)習(xí)一下
    2023-09-09
  • Vue+Element實(shí)現(xiàn)表格單元格編輯

    Vue+Element實(shí)現(xiàn)表格單元格編輯

    這篇文章主要為大家詳細(xì)介紹了Vue+Element實(shí)現(xiàn)表格單元格編輯,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue.js實(shí)現(xiàn)九宮格圖片展示模塊

    Vue.js實(shí)現(xiàn)九宮格圖片展示模塊

    這篇文章主要為大家詳細(xì)介紹了Vue.js實(shí)現(xiàn)九宮格圖片展示模塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 為Vue3?組件標(biāo)注?TS?類型實(shí)例詳解

    為Vue3?組件標(biāo)注?TS?類型實(shí)例詳解

    這篇文章主要為大家介紹了為Vue3?組件標(biāo)注?TS?類型實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • vue3?證件識(shí)別上傳組件封裝功能

    vue3?證件識(shí)別上傳組件封裝功能

    證件圖片識(shí)別上傳根據(jù)業(yè)務(wù)需要,經(jīng)常涉及到證件上傳,例如身份證上傳、銀行卡、營業(yè)執(zhí)照等信息,根據(jù)設(shè)計(jì)師的設(shè)計(jì),單獨(dú)封裝了一個(gè)上傳組件,這篇文章主要介紹了vue3?證件識(shí)別上傳組件封裝,需要的朋友可以參考下
    2023-05-05
  • Vue在css中圖片路徑問題解決的配置方法

    Vue在css中圖片路徑問題解決的配置方法

    這篇文章主要為大家介紹了Vue在css中圖片路徑問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 基于前端VUE+ElementUI實(shí)現(xiàn)table行上移或下移功能(支持跨頁移動(dòng))

    基于前端VUE+ElementUI實(shí)現(xiàn)table行上移或下移功能(支持跨頁移動(dòng))

    有時(shí)候需要前端實(shí)現(xiàn)上移和下移功能,下面這篇文章主要給大家介紹了關(guān)于如何基于前端VUE+ElementUI實(shí)現(xiàn)table行上移或下移(支持跨頁移動(dòng))的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07

最新評(píng)論

景东| 界首市| 建昌县| 新闻| 公主岭市| 宝山区| 清丰县| 吴江市| 平原县| 琼结县| 洪雅县| 高青县| 清河县| 河西区| 盈江县| 澄迈县| 江安县| 山西省| 汶川县| 孟州市| 若羌县| 阿拉善右旗| 重庆市| 昌平区| 东山县| 综艺| 绍兴县| 左贡县| 方城县| 从江县| 简阳市| 榆中县| 宁都县| 凤城市| 磐石市| 吴川市| 岫岩| 额济纳旗| 迁安市| 汪清县| 比如县|