模拟慢上传-处理超时重试image 丢失线上问题

背景:线上告警,后端接口500 ,显示参数少了image

找到问题:

  1. 上传一张图片。

  2. 将网络限速,触发首次请求超时。

  3. 查看自动重试请求。

  4. 修复前:重试请求缺少 image,后端报错。

模拟开始

成功复现

修复的代码块

axios.js

javascript 复制代码
// 文件上传
    console.log('file', config);
    if (config.file) {
      config.data = getFormDataByJson(config.data); // 对象转 Formdata
      const isFormData =
        typeof FormData !== 'undefined' && config.data instanceof FormData;
      if (!isFormData) config.data = getFormDataByJson(config.data); // 对象转 Formdata
      config.headers['Content-Type'] = 'multipart/form-data;charset=UTF-8';
    }
    // 配置 CancelToken

deposit.js

javascript 复制代码
export const postRemitCertUpload = data =>
  axios.post(`/money/deposit/remittance-certificates/upload`, data, {
    file: true,
    retry: 0, // 上传超时结果不确定,避免自动重试导致重复保存或重复转换 FormData
    magic: 'web-api',
  });
相关推荐
moshuying3 小时前
网购能买Token了!
前端
h_65432103 小时前
echarts实现柱状图加一条横线
前端·echarts
风骏时光牛马3 小时前
生成一个后端标题,只需要一个标题,不需要其他的任何文本。
前端
子非鱼@Itfuture3 小时前
关于前后端联调中登录状态/登录信息失效?
java·前端
郭小李3 小时前
openFeign入门
java·开发语言·前端
馒头不想说话3 小时前
AI当运营,帮你省人力
前端
梦曦i3 小时前
uni-app x下自研架构的工程化突围
前端·架构·uni-app x
速易达网络4 小时前
ECharts 图表制作完全指南:从零到可视化实战
前端·javascript·echarts
IT_陈寒4 小时前
SpringBoot多环境配置把我坑惨了,这个踩坑经验你最好看看
前端·人工智能·后端