element-ui中的upload组件带token的两种方法

本文详细介绍了Element UI中上传组件的两种使用方法:默认方式和自定义Ajax方式。通过具体代码示例,展示了如何设置上传地址、文件数量限制、自定义请求头以及成功回调函数。此外,还提供了before-upload钩子函数的使用示例,用于实现更复杂的上传前逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法1(默认方式):

<el-upload
  action="http://irhfuwu.com:5566/OE/UploadFile/AttachUpload";
  multiple
  :limit="3"
  :headers="myHeaders"    //注:此处也可以使用computed来传动态值
  :on-success="sucH">
  <el-button size="small" type="primary">点击上传1</el-button>
</el-upload>

...

data: {
  myHeaders: {
      token: "324234234234324343pz9cvbg3Rw="
  }
},

方法2(不用action,改用自写ajax方式):

<el-upload
  action="#"
  :before-upload="beforeUpload"
  multiple
  :limit="3"
  :on-success="sucH">
  <el-button size="small" type="primary">beforeUpload方式上传</el-button>
</el-upload>

....

beforeUpload:function (file) {
    var fd = new window.FormData();
    fd.append('key', file, 'fileName')
    axios.post("http://irhfuwu.com:5566/OE/UploadFile/AttachUpload";, fd, {
        headers: {
            token: "456436523YZgX6PXALReS5l51QwzVf0eQnYvDJJBKxG91Wpz9cvbg3Rw="
        }
    }).then(function (res) {
      console.log(res);
    });
    return false // 返回false不会自动上传
}
### Element UI `el-upload` 组件使用指南 #### 基本配置与属性说明 Element UI 的 `el-upload` 组件用于处理文件上传功能。通过指定不同的属性可以轻松定制化该组件的行为和外观[^1]。 - **action**: 文件上传的网络请求地址,必填项。 - **headers**: 设置上传请求头部信息,在实际项目开发过程中可能涉及到权限验证等问题,此时可以在 headers 中加入 token 或者其他认证参数[^2]。 ```html <template> <div class="upload-demo"> <el-upload :headers="{'Authorization': 'Bearer ' + getToken()}" action="https://jsonplaceholder.typicode.com/posts/" multiple> <button type="button">点击上传</button> </el-upload> </div> </template> <script setup lang="ts"> function getToken(): string { const storedToken = localStorage.getItem('token'); return storedToken ? JSON.parse(storedToken) : ''; } </script> ``` #### 多文件上传支持 为了实现多文件的同时上传,只需简单地给 `<el-upload>` 添加 `multiple` 属性即可允许用户一次选择多个文件进行上传操作。 #### 自定义样式与交互逻辑 除了基本的功能外,还可以进一步自定义按钮文字、图标以及触发方式等细节来满足特定需求。比如可以通过 slot 插槽来自由设计上传区域内的内容展示形式;也可以监听事件(如 file-list change)来做更复杂的业务流程控制[^3]。 #### WebSocket 支持下的分片传输方案 对于大文件或者需要实时反馈进度的情况,则可考虑采用基于 WebSockets 协议的数据流式发送机制来进行优化改进。具体做法参见开源仓库中的实例代码片段。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值