记录 umi-request上传文件的坑

3,777 阅读1分钟

想试试umijs 开发,在上传文件的时候遇到了问题。页面效果是应该简单的上传文件:

图片.png

可是,当我按照官方的示例 ,进行配置时,官方示例:

图片.png

发现:

  1. 使用 FormData(), 并不会自动添加 header 中对应的 Content-Type

  2. 要成功的上传文件 , 需指定上传类型 ,是下面代码内容(会自动添加对应的 header 内容):

request('/api/v1/some/api', { method: 'post', data: formData,requestType'form', });

同时 如果你的全局 requesr 应当注释掉对应的 Content-type

// 配置request基本参数

const request = extend({

  prefix'http://192.168.20.193:8081/ipsecvpn',

  // prefix: '/ipsecvpn',

  timeout8000,

  headers: {

    // 需要注释掉
    // 'Content-Type': 'application/json;charset=utf8',

    // Authorization: localStorage.getItem('Authorization'),

    Authorization'1630395622279||3||00-00-00-00-00-01',

    // 'Access-Control-Allow-Origin': '*',

  },

});

所以 ,官方的文档示例缺少部分代码,

目前我提交了文档的相关 pr,并被官方合并。