问题描述
我正在尝试在我的 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;