首页 > 解决方案 > {"errors":[{"message":"必须提供查询字符串。"}]}

问题描述

我想使用 graphql-upload 包上传图片

这是我的方案文件

const { GraphQLSchema, GraphQLObjectType, GraphQLBoolean } = require("graphql");
const { GraphQLUpload } = require("graphql-upload");

    const schema = new GraphQLSchema({
      mutation: new GraphQLObjectType({
        name: "Mutation",
        fields() {
          return {
            uploadImage: {
              description: "Uploads an image.",
              type: GraphQLBoolean,
              args: {
                image: {
                  description: "Image file.",
                  type: GraphQLUpload
                }
              },
              async resolve(parent, { image }) {
                const { filename, mimetype, createReadStream } = await image;
                const stream = createReadStream();
                // Promisify the stream and store the file, then…
                return true;
              }
            }
          };
        }
      })
    });

这是我的服务器文件。当我运行该文件时,它会在浏览器端出现错误。它显示:{“错误”:[{“消息”:“必须提供查询字符串。”}]}。

const express = require("express");
const graphqlHTTP = require("express-graphql");
const { graphqlUploadExpress } = require("graphql-upload");
const schema = require("./schema");

express()
  .use(
    "/graphql",
    graphqlUploadExpress({ maxFileSize: 10000000, maxFiles: 10 }),
    graphqlHTTP({ schema })
  )
  .listen(3000);

**我究竟做错了什么?**

标签: expressgraphqlexpress-graphql

解决方案


推荐阅读