小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

如何使用elemen-ui實(shí)現(xiàn)文件的上傳與下載

 路人甲Java 2021-09-23


1、文件上傳el-upload

<el-upload
    class="upload-style"
     :action="UploadListUrl()"
     :show-file-list="ifImportSucess"
     :on-success="handleImportSuccess"
     :headers="importHeader"
>
      <el-button class="import-btn">數(shù)據(jù)導(dǎo)入</el-button>
</el-upload>

action: 需要導(dǎo)入的數(shù)據(jù)源地址

headers:大多數(shù)情況下,前后端接口請求會有加密token處理,這時候就需要修改對應(yīng)的header請求頭

on-success: 上傳成功之后的一些處理

2、文件的下載

<el-button class="import-btn" @click="handleDownListModelClick">下載模板</el-button>

直接通過點(diǎn)擊事件來觸發(fā)需要下載的接口地址

需要注意的是,如果對接的后端接口沒有進(jìn)行二進(jìn)制數(shù)據(jù)處理,則需要在請求頭中添加

responseType = 'blob' // 與headers是平級的

通過點(diǎn)擊事件--調(diào)用接口請求,返回對應(yīng)的二進(jìn)制編碼,(有可能接口已經(jīng)處理過),那直接轉(zhuǎn)換成我們需要的下載URL即可

 // 下載模板
    async handleDownListModelClick () {
      try {
        const res = await this.$store.dispatch('rights/downloadListModel')
        console.log(res)
        // 接口未處理二進(jìn)制
        // const blob = new Blob([res.data], {
        //   type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
        // })

        const downloadElement = document.createElement('a')
        const href = window.URL.createObjectURL(res) // 創(chuàng)建下載的鏈接
        downloadElement.href = href
        downloadElement.download = `模板.xlsx` // 下載后文件名
        document.body.appendChild(downloadElement)
        downloadElement.click() // 點(diǎn)擊下載
        document.body.removeChild(downloadElement) // 下載完成移除元素
        window.URL.revokeObjectURL(href) // 釋放掉blob對象
        if (res) {
          this.$message({
            type: 'success',
            message: '下載成功'
          })
        }
      } catch (err) {
        console.warn(err)
      }
    },

注意,如果項(xiàng)目中使用了mock.js需要在vuejs項(xiàng)目中的main.js中注釋掉,不然返回的二進(jìn)制編碼會帶入mock的數(shù)據(jù)導(dǎo)致無法正確轉(zhuǎn)碼,具體原因。。。還在研究中。

以上就是,基于elemen-ui的文件的上傳與下載。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多