Ant Design上传插件,导入接口

本文介绍了在Ant Design项目中如何不使用默认action属性,而是通过自定义方式调用上传文件接口的方法,详细展示了调用接口和接口实现的步骤,鼓励开发者保持学习状态。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

在项目中,上传文件时接口不想使用action,可以用到这个属性

<a-upload
	     name="file"
	     :multiple="true"
	     :headers="headers"
	     :showUploadList="false"
	     :beforeUpload="handleBeforeUpload"
	     :customRequest="customRequest" >
         <a-button type="primary" class="btnClass" style="margin: 0 10px;">导入</a-button>
 </a-upload>

在这里插入图片描述
调用接口时这样写

 // 自定义上传,自定义上传接口
      customRequest(file) {
         // file 是上传的文件 
         // 后端需要接受的参数是 formData数据,
         const form = new FormData();
         form.append('file', file.file);
         //这里的this.year是项目中需要传的参数
         uploadFile(this.year, form).then(res => {
            if(res) {
               this.$message.success('导入成功');
               //导入成功调查询接口
               this.getPlan();
            } else {
               this.$message.error('导入失败');
            }
         });
      },
     // 导入
      handleBeforeUpload: function(file) {
         //判断上传文件格式
         let extension = file.name.split('.')[1] === 'xls';
         let extension2 = file.name.split('.')[1] === 'xlsx';
         let tabName = file.name.split('.');
         let tabNames = tabName[0].substring(10,);
         let name =  '实际清算';
         return new Promise((resolve, reject) => {
            if(!extension && !extension2) {
               this.$message.warning('导入文件只能是 xls、xlsx格式!');
               reject(file);
            } else if(tabNames.indexOf(name) == -1) {
               this.$message.error(`请导入${name}`);
               reject(file);
            } else {
               this.$confirm({
                  title: `确定导入${name}吗?`,
                  onOk() {
                     resolve(file);
                  },
                  onCancel() {}
               });
            }
            resolve(file);
         });
      }, 

具体接口这样写

export function uploadFile(parameter,year) {
   return http({
      url:'/plan/yearly/import/historyInfo?year='+year,
      method: 'post',
      headers: { 'Content-Type': 'multipart/form-data' },
      data: parameter
   });
}

好好学习,天天向上,哈哈哈~

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值