获取数据时 Res.buffer 不是函数错误

问题描述

我正在尝试在我的 create-react-app 中使用 fetch 来获取图像并将其导入到我的健全模式中。我正在尝试获取图像并使用 res.buffer。但这只是直接显示

TypeError res.buffer 不是函数

我使用的代码如下:

import React from "react";

const Parser = () => {
  const fetch = require('node-fetch');
  const filePath =
    "https://upload.wikimedia.org/wikipedia/commons/1/15/White_Persian_Cat.jpg";
  fetch(filePath).then((res) => res.buffer())
 
  return (
<div></div>
)

};

export default Parser;

为什么这里会发生这个错误

解决方法

res 中没有这样的属性。我想知道此功能是否仅在使用模块 node-fetch 的 nodeJS 中可用。检查信息here

//using fetch in browser,res is as follow
{
body: ReadableStream
bodyUsed: false
headers: Headers
ok: true
redirected: false
status: 200
statusText: ""
type: "basic"
url: "https://upload.wikimedia.org/wikipedia/commons/1/15/White_Persian_Cat.jpg"
}
,

我能够通过使用 arrayBuffer() 而不仅仅是 buffer() 来解决这个问题。

import React from "react";

const Parser = () => {
  const fetch = require('node-fetch');
  const filePath =
    "https://upload.wikimedia.org/wikipedia/commons/1/15/White_Persian_Cat.jpg";
  fetch(filePath).then((res) => res.arrayBuffer())
 
  return (
<div></div>
)

};

export default Parser;