如何使用 Fetch 从响应 headers 中获取 content-type

How to get content-type from the response headers with Fetch

我正在尝试从我的 GET 请求访问返回的 content-type 以便我可以决定我想要的预览类型 html 也许通过 iframe 和对于 PDF 可能是某些查看器。问题是当我执行 console.log(response.headers) 时返回的 object 中没有 content-type 但是当我检查网络选项卡时响应 headers 有 content-type: html/text。如何从响应 headers 中获取 content-type? 这就是我的 GET 请求的样子

const getFile = async () => {
    var requestOptions = {
      method: "GET",
      headers: context.client_header,
      redirect: "follow",
    };
    let statusID = context.currentStatus.ApplicationID;
    var response = await fetch(
      process.env.REACT_APP_API_ENDPOINT +
        "/services/getStatus?ApplicationID=" +
        statusID,
      requestOptions
    );

    console.log(response.headers);

    if (response.ok) {
      let fileHtml = await response.text();
      setfileURL(fileHtml);
    } else {
      alert.show("Someting went wrong");
    }
  };

Headers 对象不适合 console.log(),因为它不容易序列化。

如果您想查看其中的所有内容,请尝试通过扩展语法将其分解为条目

console.log(...response.headers)

您可能会发现实际上可以通过

访问您想要的内容
response.headers.get("content-type")

Headers.get()