layui upload上传文件时动态设置headers参数值

项目中上传文件时,需在headers中带上token,但是由于一进入页面就已经upload.render,此时如果用户没有登录,token为null,上传失败。

而且由于用户在当前页面弹框登录后,页面并没有刷新,不会触发upload.render。

针对这种情况,可以通过动态添加的方式在before函数中加入以下代码,这样每次上传时,都会先给token赋值。

对于接口中需要传递的其它参数,可以放到data中,动态添加的也可以放到before函数中。

    let uploadInst3 = upload.render({
        elem: '#uploadId', //绑定元素
        url: apiUrl, //上传接口
        accept: 'file',
        acceptMime: '*',
        multiple: true,
        exts: 'png|jpeg|pdf|jpg|doc|docx|xls|xlsx', //可选的文件类型筛选
        headers: { token: window.sessionStorage.getItem('token') },
        data: { type: 0 },
        choose: function (obj) {
            this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
        },
        before: function (obj) {
            // 1、动态添加headers中的参数
            this.headers.token= window.sessionStorage.getItem('token')
            // 2、动态添加的其它参数
            this.data.type= outerType
        },
        done: function (res, index, upload) {
            delete this.files[index] //删除上次上传的文件,避免第二次上传时请求多次接口
            if (res.code == 0) {} else {}
        },
        error: function () {}
    });

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值