未捕获的类型错误:fs.readFileSync 不是浏览器控制台中的函数错误

时间:2021-04-23 23:05:12

标签: javascript node.js reactjs amazon-s3

我正在尝试使用以下代码通过反应将图像上传到亚马逊 s3 存储桶。 我在浏览器控制台中收到错误“Uncaught TypeError: fs.readFileSync is not a function”。 任何人都可以请帮忙。 我正在从另一个组件调用这个上传函数,无论如何页面正在加载,在选择文件后抛出上述错误。

c

2 个答案:

答案 0 :(得分:1)

fs 库在浏览器中不可用,它是 nodejs 特定的。

答案 1 :(得分:0)

fs 是一个仅限 Node.js 的 API,在浏览器中不可用。

AWS SDK 的

v3 还提供了更好的浏览器支持,S3 component 可以单独采购

yarn add @aws-sdk/client-s3
import { S3Client } from "@aws-sdk/client-s3"

您通常不想将 AWS 凭证分发给浏览器,因此可以生成一个 pre signed URL,您可以在其中存放供浏览器使用的 AWS 密钥。

react components available 已经以安全的方式执行此操作。