【问题标题】:Why GraphQL error: createReadStream is not a function为什么 GraphQL 错误:createReadStream 不是函数
【发布时间】:2021-05-29 23:08:53
【问题描述】:

我正在尝试使用 apolloclient 和 GraphQL 上传文件,但出现 GraphQL 错误:createReadStream 不是函数。不知道怎么解决

Mutation: {
        uploadFile: async (parent, { file }) => {
            const { createReadStream, filename, mimetype, encoding } = await file

            const stream = createReadStream()
            const pathName = path.join(__dirname, `/public/images/${filename}`)
            await stream.pipe(fs.createWriteStream(pathName))

            return {
                url: `http://localhost:3000/images/${filename}`,
            }
          },
}

【问题讨论】:

  • 请求正文片段?
  • 您似乎没有正确导入fs?那时fs 喜欢什么?尝试将其打印到控制台或使用调试工具检查函数闭包。

标签: javascript reactjs graphql


【解决方案1】:

我通过将我的 nodejs 降级到 12.0.0 解决了这个问题

nvm 安装 12;非虚拟机使用 12

如果你在windows中,你必须从this repository为windows安装nvm

您还必须在服务器端的 package.json 文件中添加这些行

"resolutions": {
"graphql-upload": "11.0.0"

},

"preinstall": "npx npm-force-resolutions"下的脚本在同一个文件中

运行nvm install

然后启动你的服务器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-12
    • 2020-11-16
    • 2020-03-01
    • 2016-09-19
    • 1970-01-01
    • 2019-06-08
    • 2021-06-02
    • 1970-01-01
    相关资源
    最近更新 更多