重读vue电商网站16之Upload 上传组件

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。

 

posted @ 2022-06-03 22:16  前端导师歌谣  阅读(66)  评论(0编辑  收藏  举报