VUE3上传功能本地上传正常,打包上传后报错TypeError: ***.upload.addEventListener is not a function和文件上传请求地址

一、erer这个错误很可能是因为在打包后,文件的路径或者名称发生了变化,导致代码中的某些方法无法正确找到。

查找两个文件添加如下代码:

 MockXMLHttpRequest.prototype.upload = xhr.upload;

 1、文件node_modules/mockjs/dist/mock.js 

2、文件node_modules/mockjs/src/mock/xhr/xhr.js  第216行添加以下代码:

 

二、使用element-plus文件上传时,后端使用的时代理路径导致上传的url需要前端自己处理

处理思路:获取地址栏的url地址+后端接口地址

let url = window.location.href ;             //获取当前url

    let dz_url = url.split('#')[0];                //获取#/之前的字符串

    let cs = dz_url.split('?')[1];                //获取?之后的参数字符串

    let cs_arr = cs.split('&');                    //参数字符串分割为数组

    let cs={};

    for(var i=0;i<cs_arr.length;i++){         //遍历数组,拿到json对象

      cs[cs_arr[i].split('=')[0]] = cs_arr[i].split('=')[1]

    }

this.id = cs.id;                                           //这样就拿到了参数中的数据

el-upload 的:action="dz_url+'后端接口地址‘"作为上传请求地址,应该就可以正常上传文件了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值