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

vue中,給一個URL地址,利用FileSaver.js插件下載文件到本地

這篇具有很好參考價值的文章主要介紹了vue中,給一個URL地址,利用FileSaver.js插件下載文件到本地。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

①首先下載 FileSaver.js 插件???

npm install file-saver --save

②在需要的.vue頁面引入

import { saveAs } from 'file-saver'

?在HTML中引入

<script src="https://cdn.bootcdn.net/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js"></script>
 //FileSaver.js只有一個函數(shù)就是saveAs,它有三個參數(shù),
 //第一個是:Blob、File、Url    可以是二進制流、文件、URL的地址。
 //第二個是:文件的名字
 //第三個是:可選的object對象。

 // 示例
 saveAs(參數(shù)一,參數(shù)二, 參數(shù)三)

③ 如果想保存一個TXT文檔本地

save(){
   let blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
   saveAs(blob, "hello world.txt");
}

// "Hello, world!"   是文件的內(nèi)容
// "hello world.txt" 是文件的名字

結(jié)果:

?filesaver.min.js,vue.js,javascript,前端

內(nèi)容:

filesaver.min.js,vue.js,javascript,前端

?

?④ 如果想保存一個圖片

save(){
  saveAs('https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg', "image.jpg")
}

// 注意:通過URL保存圖片時,存在阿里云服務(wù)端的圖片必須設(shè)置為允許跨域,
//       因為在通過saveAs函數(shù)下載時,會請求一次這個地址,如果沒設(shè)置,則會出現(xiàn)跨域問題。

結(jié)果:

filesaver.min.js,vue.js,javascript,前端

?圖片內(nèi)容:

filesaver.min.js,vue.js,javascript,前端

?如果圖片不允許跨域則會出現(xiàn)這種情況:

filesaver.min.js,vue.js,javascript,前端

?

⑤下面這個方法則可以完美的解決跨域問題,不光可以下載圖片還可以下載PDF文件等其他文件。

    download() {
      axios.post("/mth-finance-capital-service/api/common/download/file", {data:this.fileUrl}, {
        headers: {"Content-Type": 'application/octet-stream'},
        transformRequest: [function (data, headers) {
          return data['data']
       }],
       responseType: 'blob'
      }).then(response => {

      //  const contentType = response.headers['content-type']
      //  const blob = new Blob([response.data], {type: contentType})
      // 這地方是前端進行的 blob轉(zhuǎn)換,接口里面后端做了之后,我們就不需要再做了。

        saveAs(response.data, this.fileUrlName) 

      // saveAs(blob, this.fileUrlName)  要是前端轉(zhuǎn)換的話就用這個

      }).catch(error => {
        console.log("----",error)
        // 處理錯誤
      })
    },

// 1. 直接發(fā)送axios請求,第一個是請求地址。
// 2. 第二個是圖片或者其他文件的URL鏈接;這地方必須要用{}包起來,data是形參最好也加上。
// 3. headers: {"Content-Type": 'application/octet-stream'},請求頭
// 4. transformRequest: [function (data, headers) {  return data['data']  }],
//    表示允許在向服務(wù)器發(fā)送前,修改請求數(shù)據(jù),data就是上面的形參。
// 5. responseType: 'blob' 后端返回的圖片是二進制流的形式,所以要加這個。
// 6. this.fileUrlName 是文件的名字

⑥ 調(diào)接口的原因是,讓后端把要下載的圖片URL或者其他文件的URL,做一下轉(zhuǎn)換,轉(zhuǎn)成blob類型的。

這個是響應(yīng)成功后,.then里面response的信息。

filesaver.min.js,vue.js,javascript,前端

?最后調(diào)用,saveAs(response.data, this.fileUrlName)下載即可。

⑦ 結(jié)果:?? // 文件名是第二個參數(shù),我隨便起的

filesaver.min.js,vue.js,javascript,前端

filesaver.min.js,vue.js,javascript,前端

?返回這樣結(jié)果不要在意,到文件里打開圖片就好了

filesaver.min.js,vue.js,javascript,前端

打開之后的圖片

?filesaver.min.js,vue.js,javascript,前端

?

⑧要是出現(xiàn)圖片破損的情況:

filesaver.min.js,vue.js,javascript,前端

?

?請檢查發(fā)請求時 是否攜帶了 responseType: 'blob' ,要下載的圖片鏈接是否用{}包起來了,回到步驟⑤看看。文章來源地址http://www.zghlxwxcb.cn/news/detail-740563.html

到了這里,關(guān)于vue中,給一個URL地址,利用FileSaver.js插件下載文件到本地的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Chrome瀏覽器中的vue插件devtools的下載方式(使用Chrome應(yīng)用商店/科學(xué)上網(wǎng)情況下)

    Chrome瀏覽器中的vue插件devtools的下載方式(使用Chrome應(yīng)用商店/科學(xué)上網(wǎng)情況下)

    目錄 devtools對前端來說的好處——開發(fā)預(yù)覽、遠程調(diào)試、性能調(diào)優(yōu)、Bug跟蹤、斷點調(diào)試等? 下載步驟:? 測試階段:? 最近做項目要使用devtools這個vue插件。 首先先想個辦法搞個加速器之類的,好實現(xiàn)科學(xué)上網(wǎng)。 在Chrome瀏覽器中訪問以下網(wǎng)址: Chrome應(yīng)用商店網(wǎng)址: https://c

    2024年02月14日
    瀏覽(25)
  • js 通過文件地址URL轉(zhuǎn)為File文件對象

    通過文件地址URL,將所指文件轉(zhuǎn)為File文件對象 文件url地址轉(zhuǎn)為文件對象,代碼如下(調(diào)用即可): 2.調(diào)用方式 代碼如下(示例):

    2024年02月10日
    瀏覽(91)
  • unity webGL與js 交互(獲取地址欄URL)

    unity webGL與js 交互(獲取地址欄URL)

    1.unity傳值給js unity中: js中: 2.js傳值給unity 參數(shù)一 Cookie:場景中物體的名稱 (最上層父物體名字,否則無法成功傳值) 參數(shù)二 OnCookie_Callback:方法名稱 參數(shù)三 result:值 unity中: 完整: unity場景中物體的名稱 ?untiy代碼: js代碼:

    2024年02月04日
    瀏覽(23)
  • 前端vue單個文件上傳支持圖片,壓縮包以及文件 , 下載完整代碼請訪問uni-app插件市場址:https://ext.dcloud.net.cn/plugin?id=13066

    前端vue單個文件上傳支持圖片,壓縮包以及文件 , 下載完整代碼請訪問uni-app插件市場址:https://ext.dcloud.net.cn/plugin?id=13066

    前端vue單個文件上傳支持圖片,壓縮包以及文件?, 閱讀全文下載完整代碼請關(guān)注微信公眾號: 前端組件開發(fā) 效果圖如下: 使用方法 HTML代碼部分 JS代碼 (引入組件 填充數(shù)據(jù)) CSS

    2024年02月09日
    瀏覽(26)
  • 解決Module not found: Error: ‘element-plus/lib/theme-chalk/index.css‘,通過下載插件,使用的是vue ui項目儀表盤

    解決Module not found: Error: ‘element-plus/lib/theme-chalk/index.css‘,通過下載插件,使用的是vue ui項目儀表盤

    1.首先在package.json中查看vue版本和element-ui版本 2.找到element-ui官網(wǎng)https://element.eleme.cn/#/zh-CN/component/quickstart,點擊element-ui 3.進入到element–ui組件下載的地址 4.下載插件 vue-cli-plugin-element git clone https://github.com/ElementUI/vue-cli-plugin-element.git 5.根據(jù)README 沒有項目就創(chuàng)建項目 vue create

    2024年02月13日
    瀏覽(27)
  • 前端導(dǎo)出文件 | fileSaver.js源碼閱讀

    前端導(dǎo)出文件 | fileSaver.js源碼閱讀

    了解fileSaver.js核心實現(xiàn) 自己動手實現(xiàn)簡易導(dǎo)出功能 在Vue中如何使用文件 1、fileSave.js庫地址:https://github.com/eligrey/FileSaver.js 2、src目錄結(jié)構(gòu) 3、在瀏覽器打開test.html,點擊下載按鈕,進行代碼調(diào)試 進入saveAs函數(shù)后可按下一步進行調(diào)試,查看代碼執(zhí)行過程。 fileSaver.js核心代碼實

    2024年02月05日
    瀏覽(27)
  • vue 中從后端獲取到文件的 url 地址,前端根據(jù) url 地址下載文件

    vue 中從后端獲取到文件的 url 地址,前端根據(jù) url 地址下載文件

    項目用的是 vben admin 框架,用的是 vue3 + TS 項目需求數(shù)據(jù)導(dǎo)出功能,前端需要實現(xiàn)文件下載功能 后端返回的是文件的 url 地址 (本項目中返回的是阿里云 oss 的文件地址) 從后端得到的是一個 url 地址,先通過 fetch api 請求這個 url 地址并轉(zhuǎn)換成 blob 對象,通過 URL.createObjectUrl() 將 blo

    2024年02月06日
    瀏覽(28)
  • pycharm插件下載慢(pycharm插件下載慢原因)

    pycharm插件下載慢,pycharm里面下載庫也是非常的慢。 這其實是個常識性的問題,我們下載的慢是因為Python使用pip方法安裝第三方包時,需要從,https%3A%2F%2Fpypi.org%2F 資源庫中下載。 這個網(wǎng)站是國外的服務(wù)器,訪問自然就很慢,但是國內(nèi)有很多的鏡像站,所謂鏡像站就是內(nèi)容一樣

    2024年02月04日
    瀏覽(15)
  • 一個神奇的小工具,讓URL地址都變成了“ooooooooo“

    一個神奇的小工具,讓URL地址都變成了“ooooooooo“

    轉(zhuǎn)換的邏輯有點像短鏈平臺一樣,只不過這個是將你的URL地址變的很長長長長,但是看著都是 ooooooooo,很好奇是如何實現(xiàn)的,所以查閱了源碼,本文解讀其核心實現(xiàn)邏輯,很有趣且巧妙的實現(xiàn)了這個功能。 發(fā)現(xiàn)一個很有創(chuàng)意的小工具網(wǎng)站,如封面圖所示功能很簡單,就是將

    2024年02月06日
    瀏覽(16)
  • 【idea】idea插件編寫教程,博主idea插件已上架idea插件市場 歡迎下載

    【idea】idea插件編寫教程,博主idea插件已上架idea插件市場 歡迎下載

    前言:經(jīng)常使用Objects.equals(a,b)方法的同學(xué) 應(yīng)該或多或少都會因為粗心而傳錯參, 例如日常開發(fā)中 我們使用Objects.equals去比較 status(入?yún)?,statusEnum(枚舉), 很容易忘記statusEnum.getCode() 或 statusEnum.getVaule() ,再比如 我們比較一個訂單code時 orderCode(入?yún)?,orderDTO(其它業(yè)務(wù)對象) 很容

    2024年01月17日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包