Element UI Plus + Vue3 给 Upload设置请求头

问题描述

在vue项目中我们发送 ajax 请求一般都会使用 axios,并在 axios 中设置axios.defaults.baseURL,请求的基本地址,并在请求拦截器中设置 headers

使用 el-upload 上传组件时,action 为必选参数,上传的地址。

但此时我们为action填写地址不能不写基本地址而仅写 upload,要写完整的地址。

这是因为 el-upload 上传组件在上传发送请求时,不会去使用我们设置的 axios,而是在组件内部自己封装了自己的请求方法。所以我们必须把地址写完整。

那有时在上传时会报出错误,例如"无效token",这是因为我们没有为此上传请求设置请求头部。el-upload 组件有一个属性 headers ,设置上传的请求头部。

解决方案

HTML 代码

html 复制代码
 <el-upload class="upload-demo" drag 
	:action=uploadPath 
	multiple="true" 
	accept=".pdf, .xlsx, .xls" 
	:headers="headers"
	:show-file-list="false" 
	:on-change="handleChange">
     <el-icon class="el-icon--upload"><upload-filled /></el-icon>
     <div class="el-upload__text">
         ドラッグ・ドロップもしくはクリックしてファイルを選択してください
     </div>
     <template #tip>
         <div class="el-upload__tip">
             PDF のみアップロードできます
         </div>
     </template>
 </el-upload>

JS 代码

javaScript 复制代码
<script setup>
	import { useUserStore } from '@/store/user'
	const userStore = useUserStore()
	const token = userStore.userInfo.token
	const Authorization = `Bearer ${token}`
	const headers = ref({'Authorization':Authorization})
</script>

引用

如何在ElementUI的上传组件el-upload中设置header

相关推荐
阿丰资源1 天前
SpringBoot+Vue实战:打造企业级在线文档管理系统
vue.js·spring boot·后端
忆往wu前1 天前
从0到1一步步拆解搭建,梳理一个 Vue3 简易图书后台全开发流程
前端·javascript·vue.js
光影少年1 天前
大屏页面,一次多个请求,请求加密导致 点击 全局时间选择器 时出现卡顿咋解决(面板收起会延迟1~2秒)
前端·javascript·vue.js·学习·前端框架·echarts·reactjs
Mr.mjw1 天前
vue中封装一个环形进度条组件,根据外部盒子大小自适应变化
前端·javascript·vue.js
唯火锅不可辜负1 天前
uniapp开发公众号订阅功能踩坑小记
前端·vue.js
像我这样帅的人丶你还1 天前
前端监控体系与实践(二):全局监控
前端·javascript·vue.js
前端那点事1 天前
Vue3 超全复盘!30+前端高频核心知识点(开发+面试全覆盖)
前端·vue.js
FlyWIHTSKY1 天前
Vue 3 中 RouteRecord 详解(Vue Router 4)
前端·javascript·vue.js
@菜菜_达1 天前
Vue生命周期
前端·javascript·vue.js
前端那点事1 天前
Vue线上代码调试全攻略(安全无侵入,新手也能上手)
前端·vue.js