axsio混合传入各种参数类型(文件类型,普通参数)

请求体:

export function addFavorites(geometry, name,samples, formdata) {
  return Service({
    url: "/protect/sampleCollect/addOne",
    method: "post",
    headers: {
      // 'isToken': false,
      "Content-Type": "multipart/form-data",
    },
    params: {
      geometry,
      name,
      samples,
    },
    data: formdata,
    timeout: 1000 * 60,
  });
}

方法调用:

传入file类型

let formdata= new FormData();
 formdata.append('file', img);

注意:如果请求出现"Content type 'application/octet-stream‘not supported“错误

我们这里不能传一个json字符串,而是一个二进制,这时需要使用 Blob() 构造函数将 json 字符串转化为 Blob 对象(Blob 对象表示一个不可变、原始数据的类文件对象,它的数据可以按文本或二进制的格式进行读取)放到 formData 中

const json = JSON.stringify(newValue);
  // 将 json 字符串转化为 Blob 对象
  const blob = new Blob([json], {
    type: 'application/json',
  });
  formData.append('blackListBatch', blob);

  const params = {
    data: formData,
    callback: () => {
      message.success(intl('导入成功'));
  },
};

 可变参数传参:

export function deleteCollect(id) {
  return Service({
    url: `/collect/delete/${id}`,
    method: "delete",
    timeout: 1000 * 60,
    headers: { 'Content-Type': 'application/json;charset=uTF-8' },
  });
}

 

posted @ 2022-12-14 11:43  一两米  阅读(68)  评论(0编辑  收藏  举报