通过点击或者拖拽上传文件

Js

<!-- action表示图片上传后台api地址 -->
<el-upload
    :action="uploadURL"
    :on-preview="handlePreview"
    :on-remove="handleRemove"
    list-type="picture"
>
    <el-button size="small" type="primary">点击上传</el-button>
    <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>

data--->
// 上传图片的url
uploadURL: 'http://127.0.0.1:8888/api/private/v1/upload'

配置如下之后,并不代表就真正上传了,此时,我们打开 Network 查看 Preview ,发现 msg 提示我们 无效 token,状态码为 400 ,这代表并没有上传成功。

这是因为此时上传控件没有使用 axios 发 ajax 请求,而是组件内部自动封装了一个 ajax,因此也就不会调用下述请求拦截器了。

解决办法是 Upload 组件有一个 headers 属性,可以设置上传的请求头部。


第一步,在组件处添加 headers 属性

第二步,在 data 中定义 headersObj ,然后添加请求头对象。

操作完成后,可以看到提示消息 msg 显示上传成功,并且此时状态码也变为了 200