** 问题:使用el-upload上传时出现了不同阶段的报错 400 和 404 **
一、问题寻找阶段
1.Swagger UI自动生成接口文档-后端提供给我的,在这里不多做介绍
2.打开Swagger页面检查 > Network > Ctrl+R = 看到页面的请求及其详细信息
3.从Swagger上传,返回没问题,查看请求详情
4.运行页面(这里页面已经搭起架子了,需要用到登录后获得的token。)
5.打开测试页面> Network > Ctrl+R = 看到页面的请求及其详细信息
6.页面中使用ElementUI的el-upload组件,直接粘贴复制
action 对应上传地址,之前做过跨域处理,并对axios进行封装处理,可以参照
二、问题发现阶段
通过对比请求信息我发现我的上传地址,以及请求头部信息和携带表单信息有问题
------以下是swagger的请求信息,尖头表明了和我测试请求中不同的地方------
------以下是我的测试请求信息------
1.swagger Request URL:-----------------/tks_system/common/upload
test Request URL:http://http://localhost:9528/common/upload //做过跨域处理但是路径写错了
2.swagger Request Headers 请求头中存在token字段 token: 3ada31dba3f64deda9072b5e1a816965 test Request Headers 请求头中不存在token字段
3.swagger 携带数据 Form Data中name字段为 name="uploadFile";
test 携带数据 Form Data中name字段为 name="file";
三、解决问题
-
在 action中补全请求路径
-
添加headers(设置上传的请求头部)我们缺少token所以给他携带一个{token:1231}【注意:这里的token是全局封装过的,引入即可】
-
添加name="uploadFile",这是FormData中的键字段,也可以让后台改一下,但后台发布swagger上没问题就最好不要麻烦别人,前端改一下name字段就行