繁体   English   中英

从React将csv文件多部分发送到服务器

[英]Sending csv file in multi-part to server from react

我有一个CSV文件,需要将其发布到API。 我需要从React多次发送此文件。 我尝试过通过fetch()方法发送此消息,如其他各种教程和网站所建议的那样,该指南显示了将文件发送到服务器。

我面临的问题是我的REST API需要在标头中使用授权令牌,并且建议指出,在发送多部分请求时,最好让浏览器为您设置标头,而不是自己创建标头。

export const authPostFile = (url, formData) => {
  return fetch(url, {
    method: "POST",
    body: formData,
    headers: {
      Authorization: `Bearer MY-CUSTOM-AUTH-TOKEN`
    }
  }).then(res => {
    if (res.ok) {
      return res.json();
    } else {
      if (res.status === 401) 
        return renewAuthToken(authPost, url, formData);
     else 
       return handleErrorResponse(res);
    }
  });
};

我收到401回应。 我是ReactJS和UI开发的新手。 这里有什么我想念的吗?

将标题添加到fetch()请求时,您需要使用Headers对象,而不是普通对象。 尝试这个:

export const authPostFile = (url, formData) => {
  let authHeader = new Headers({
    "Authorization": `Bearer MY-CUSTOM-AUTH-TOKEN`
  });

  return fetch(url, {
    method: "POST",
    body: formData,
    headers: authHeader 
  }).then(res => {
    if (res.ok) {
      return res.json();
    } else {
      if (res.status === 401) 
        return renewAuthToken(authPost, url, formData);
     else 
       return handleErrorResponse(res);
    }
  });
};

有关Headers更多信息,请参见MDN

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM