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

【前端文件下載】直接下載和在瀏覽器顯示下載進(jìn)度的下載方法

這篇具有很好參考價值的文章主要介紹了【前端文件下載】直接下載和在瀏覽器顯示下載進(jìn)度的下載方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

文件下載方法

之前做下載文件遇到了點(diǎn)問題, 就趁此機(jī)會總結(jié)一下前端下載文件的方法:

  1. 如果是瀏覽器支持的類型, 那么打開的話是一個preview操作, 那么針對瀏覽器不支持預(yù)覽的類型, 如果打開的話就會進(jìn)行下載操作

    a. 地址欄直接輸入URL
    b. window.location.href = URL
    c. window.open(URL)

  2. 使用a標(biāo)簽來下載, 利用a標(biāo)簽的download屬性, 并且可以自定義下載文件的名稱
    也可以直接通過js來創(chuàng)建一個a標(biāo)簽, 然后放入body里, 觸發(fā)其點(diǎn)擊事件來下載, 下載過后remove即可

<a href="/xx/xxx.jpg" download="fileName">
  1. 通過XMLHttpRequest下載
    缺點(diǎn): 此方法是下載完畢之后才在瀏覽器左下角彈出對應(yīng)的文件信息, 沒有下載的進(jìn)度, 如果文件比較大的話, 就會感覺點(diǎn)擊了只是在loading但是并不能確定文件是否在下載, 也無法知道文件的下載進(jìn)度, 體驗(yàn)感不好
// 接收url fileName, 以及文件下載成功之后的回調(diào)
downLoadFile(url, fileName, callback) {
  const url2 = url; // url.replace(/\\/g, "/");
  const xhr = new XMLHttpRequest();
  xhr.open("GET", url2, true);
  xhr.responseType = "blob";
  //xhr.setRequestHeader('Authorization', 'Basic a2VybWl0Omtlcm1pdA==');
  // 為了避免大文件影響用戶體驗(yàn),建議加loading
  xhr.onload = () => {
    if (xhr.status === 200) {
      // 獲取文件blob數(shù)據(jù)并保存
      // const suffix = this.getFileSuffix.call(this, url, fileName);
      // this.saveAs.call(this, xhr.response, fileName)
      this.saveAs.call(this, xhr.response, fileName)
    }
	// 下載成功之后執(zhí)行回調(diào)
    callback && callback();
  };
  xhr.send();
},
  1. 通過OSS實(shí)現(xiàn)有進(jìn)度條的下載方法
    優(yōu)點(diǎn): 點(diǎn)擊下載之后直接在瀏覽器左下角彈出對應(yīng)的文件信息以及下載的進(jìn)度, 體驗(yàn)感比較好
// 下載操作
downloadAction(row, type = '') {
  // 獲取上傳參數(shù)
  getDownloadParam().then(data => {
    // 拿到參數(shù)之后去創(chuàng)建 OSS 客戶端對象
    this.createOssClient(data).then(client => {
      const filename = row.name;
      const response = {
        'content-disposition': `attachment; filename=${encodeURIComponent(filename)}`
      };

      const url = client.signatureUrl(row.file_path, { response });
      window.location.href = url;
    });
  }).catch(err => { })
},
// 創(chuàng)建 OSS 客戶端對象
createOssClient(data) {
  return new Promise((resolve) => {
    const client = new OSS({
      region: data.region,
      accessKeyId: data.access_key_id,
      accessKeySecret: data.access_key_secret,
      stsToken: data.security_token,
      bucket: data.bucket,
    });

    resolve(client)
  })
},

歡迎大家一起討論學(xué)習(xí)??~文章來源地址http://www.zghlxwxcb.cn/news/detail-445995.html

到了這里,關(guān)于【前端文件下載】直接下載和在瀏覽器顯示下載進(jìn)度的下載方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 微信H5下載文件、微信瀏覽器無法下載文件解決方案

    微信H5下載文件、微信瀏覽器無法下載文件解決方案

    手機(jī)端的微信訪問網(wǎng)頁的時候,是禁止直接下載文件的 但是IOS端可以預(yù)覽.txt/.doc/.docx/.xls/xlsx/.pdf等格式的文件,Android端在下載這些格式的文件時,可以喚起 ‘即將離開微信,在瀏覽器打開’ 提示 所以,根據(jù)手機(jī)微信的這些限制,考慮在下載文件時,使Android微信在下載任何

    2024年02月16日
    瀏覽(32)
  • 谷歌瀏覽器下載文件提示無法安全地下載怎么解決?

    谷歌瀏覽器下載文件提示無法安全地下載怎么解決?

    程序代碼園發(fā)文地址: 谷歌瀏覽器下載文件提示無法安全地下載怎么解決?-程序代碼園 小說,Java,HTML,Java小工具,程序代碼園,http://www.byqws.com/ ,谷歌瀏覽器下載文件提示無法安全地下載怎么解決? http://www.byqws.com/blog/1067.html ? ? ? ?今天有同事說在谷歌瀏覽器中下載文件,彈出

    2024年02月07日
    瀏覽(24)
  • google瀏覽器下載文件提示無法安全地下載怎么解決?

    在使用google瀏覽器下載文件的時候,彈出了“無法安全下載”的提示,搞了文件都下載不下來,網(wǎng)上查了一下,是因?yàn)閏hrome認(rèn)為使用非https鏈接下載文件是不安全的,在新版本中阻止了用戶下載。 目錄 1、打開google瀏覽器的設(shè)置

    2024年04月24日
    瀏覽(27)
  • 微信瀏覽器H5下載文件

    微信瀏覽器H5下載文件

    微信瀏覽器無法下載文件,我們可以跳轉(zhuǎn)外部瀏覽器進(jìn)行下載。 首先綁定按鈕事件(我這里用的uniapp開發(fā)) button class=“btn” @click=“downFile”點(diǎn)擊下載 然后判斷當(dāng)前頁面是否是微信瀏覽器,若是,提示用戶打開右上角選擇瀏覽器打開鏈接,若不是,進(jìn)行下載 進(jìn)入默認(rèn)瀏覽器

    2024年02月16日
    瀏覽(28)
  • python + selenium 自動下載瀏覽器驅(qū)動文件

    python + selenium 自動下載瀏覽器驅(qū)動文件

    2024年02月02日
    瀏覽(32)
  • 解決selenium遇到火狐瀏覽器自動打開下載文件

    解決selenium遇到火狐瀏覽器自動打開下載文件

    ? ?這個圖標(biāo)發(fā)生變化說明可以了,不用在意后面的文字,這樣設(shè)置就已經(jīng)生效!

    2024年02月11日
    瀏覽(32)
  • Mac 瀏覽器下載的文件名總是「亂碼」

    Mac 瀏覽器下載的文件名總是「亂碼」

    如果可以實(shí)現(xiàn)記得點(diǎn)贊分享,謝謝老鐵~ 本文所說的方法是在出現(xiàn)文件名亂碼情況下,如何恢復(fù)文件名的正確中文名稱,并非一勞永逸地避免亂碼的出現(xiàn)。這是由于下載文件名稱亂碼的出現(xiàn),往往是系統(tǒng)、瀏覽器、網(wǎng)站三方面因素共同影響導(dǎo)致的,錯綜復(fù)雜。想要避免亂碼的

    2024年02月04日
    瀏覽(26)
  • selenium設(shè)置(有界面/無界面瀏覽器)下載文件路徑

    配置方法是添加 download.default_directory ,如: 對于無界面瀏覽器,為了安全,默認(rèn)是不允許在無界面下進(jìn)行下載文件到本地的操作的,但是可以通過配置進(jìn)行修改,詳細(xì)請參考:https://stackoverflow.com/questions/45631715/downloading-with-chrome-headless-and-selenium

    2024年02月17日
    瀏覽(26)
  • java實(shí)現(xiàn)pdf文件添加水印,下載到瀏覽器

    java實(shí)現(xiàn)pdf文件添加水印,下載到瀏覽器

    添加itextpdf依賴 根據(jù)需求,不需要指定路徑可以刪除對應(yīng)的輸出流 效果如下:代碼中的相對路徑在src平級目錄下,test.pdf是PdfStamper里面fileOutputStream生成的,test1.pdf是fos生成的 瀏覽器下載的如下: 生成的pdf內(nèi)容如下(紅框里面是pdf原來的內(nèi)容,可以自己調(diào)整代碼中注釋掉的設(shè)

    2024年02月05日
    瀏覽(21)
  • java實(shí)現(xiàn)瀏覽器下載附件時文件名中文亂碼解決方案

    方案一:URLEncoder 解決 IE 和 谷歌瀏覽器的附件中文名問題。 如果客戶端瀏覽器是 IE 瀏覽器 或者 是谷歌瀏覽器。我們需要使用 URLEncoder 類先對中文名進(jìn)行 UTF-8 的編碼 操作。 因?yàn)?IE 瀏覽器和谷歌瀏覽器收到含有編碼后的字符串后會以 UTF-8 字符集進(jìn)行解碼顯示。 方案二:B

    2024年03月09日
    瀏覽(88)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包