el-upload借助SwaggerUI解决问题

304 阅读2分钟

** 问题:使用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进行封装处理,可以参照

blog.csdn.net/weixin_4338…

二、问题发现阶段

通过对比请求信息我发现我的上传地址,以及请求头部信息和携带表单信息有问题

------以下是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";        

三、解决问题

  1. 在 action中补全请求路径

  2. 添加headers(设置上传的请求头部)我们缺少token所以给他携带一个{token:1231}【注意:这里的token是全局封装过的,引入即可】

  3. 添加name="uploadFile",这是FormData中的键字段,也可以让后台改一下,但后台发布swagger上没问题就最好不要麻烦别人,前端改一下name字段就行