【发布时间】:2021-08-19 16:13:28
【问题描述】:
我尝试使用 GraphQL 上传文件。上传时,我收到以下错误消息:
变量“$file”的值无效 { resolve: [function], reject: [功能],承诺:{},文件:{文件名: “insung-yoon-TPvE8qPfMr0-unsplash.jpg”,mimetype:“图像/jpeg”, encoding: "7bit", createReadStream: [function createReadStream] } }; 上传值无效。
我找到的唯一解决方案是禁用apollo-graphql 的上传并添加graphql-upload
new ApolloServer({ schema, context, uploads: false })
app.use(graphqlUploadExpress({ maxFileSize: 10000, maxFiles: 10 }))
我已经添加了这个设置,但问题仍然存在。
我的突变看起来像:
@Mutation(() => ReturnType)
uploadFileAndData(
@Ctx() ctx: Context,
@Arg('data', { description: 'File Upload' }) data: MyInputType,
): Promise<ReturnType> {
return functionWithMagic({ ctx, data })
}
我的 InputType 如下:
import { FileUpload, GraphQLUpload } from 'graphql-upload'
...
@InputType({ description: 'Upload data input' })
export class MyInputType {
@Field(() => GraphQLUpload)
@Joiful.any()
file: FileUpload
}
【问题讨论】:
标签: javascript typescript file-upload graphql