导入导出文件

1.通过

 window.location.href =`路径`

2.

   this.$http.get(`路径`, { responseType: "arraybuffer" }).then(res => {
                 if (res.status == 200) {
                     var blob = new Blob([res.data], {
                         type: "application/json;charset=UTF-8",
                     });
                     var filename = "文件名字.xls";
                     var a = document.createElement("a");
                     var url = window.URL.createObjectURL(blob);
                     a.href = url;
                     a.download = filename;
                     var body = document.getElementsByTagName("body")[0];
                     body.appendChild(a);
                     a.click();
                     body.removeChild(a);
                     window.URL.revokeObjectURL(url);
                     this.$message.success(`导出成功`);
                    this.exportDialog = false;
                 } else {
                     this.$message.error(`导出失败`);
                 }
             })

3.

  // 导入
        // 文件校验方法
        // beforeAvatarUpload(file) {
        //     // 通过split方法和fileArr方法获取到文件的后缀名
        //     let fileArr = file.name.split('.')
        //     let suffix = fileArr[fileArr.length - 1]
        //     // 只能导入.xls和.xlsx文件
        //     if (!/(xls|xlsx)/i.test(suffix)) {
        //         this.$message('文件格式不正确')
        //         return false
        //     }
        //     // 不能导入大小超过2Mb的文件
        //     if (file.size > 2 * 1024 * 1024) {
        //         this.$message('文件过大,请上传小于2MB的文件〜')
        //         return false
        //     }
        //     return true
        // },
        // // 文件发生改变就会触发的事件
        // uploadByJsqd(file) {
        //     // 判断是否符合beforeAvatarUpload方法中的条件
        //     if (this.beforeAvatarUpload(file)) {
        //         this.fileList.name = file.name
        //         this.fileList.url = ''
        //         var formdata = new FormData()
        //         formdata.append('file', file.raw)
        //         // importDevice:请求接口 formdata:传递参数
        //         //   importDevice(formdata).then((res) => {
        //         //     this.$message({
        //         //       message: res.msg,
        //         //       type: 'success'
        //         // })
        //         // this.getList()// 调用表格方法,刷新页面
        //         //   })
        //     }
        // },

4.element

    <!-- 上传文件 -->
        <el-upload class="upload-demo"
            action="路径"
            :show-file-list="false"
            style="display:none;width:100%"
            :on-success="handleUpload"
            :on-error="handleError"
            ref="uploadcsv"
            accept=".xls,.xlsx"        // 限制文件
            :headers="headtoken"
            :before-upload="beforeUpload">
            <el-button size="small"
                ref="uploadImgBtn"
                type="primary">点击上传</el-button>
        </el-upload>
    // 导入抽检结果,上传文件
        handleUpload(res) {
            this.loading = false;
            if (res.code === 200 && res.message) {
                this.$message.success(`导入成功`);
                this.loadTable();
            } else {
                this.$message.error(res.message);
            }
        },
        // 导入出错
        handleError() {
            this.loading = false;
            this.$message.error("导入失败,请重试");
        },
        beforeUpload(file) {
            // this.loading = true;
        },
 // 限制文件大小  和文件格式(或者用属性accept=".xls,.xlsx")
beforeUpload(file) {
  if (file.size / 1024 / 1024 > 200) {
    this.$message({
      message: '上传文件大小不能超过 200MB!',
      type: 'error'
    })
    return false
  }
  // 获取文件类型
  var test = file.name.substring(file.name.lastIndexOf('.') + 1)
  if (test !== 'zip' && test !== 'rar') {
    this.$message({
      message: '上传文件只能是 zip、rar格式!',
      type: 'warning'
    })
    return false
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值