Docs

GraphQL EZ

Get Started

Plugin Hub > GraphQL Upload

npm version
yarn add @graphql-ez/plugin-upload graphql-upload yarn add -D @types/graphql-upload

@graphql-ez/plugin-upload#

Integration with GraphQL Upload

Compatibility#

This plugin currently only supports Fastify, Express and Koa. If you really need this plugin in another integration, feel free to create an issue or a PR proposing the solution.

Usage#

Make sure to have installed graphql-upload and @types/graphql-upload, since these are set as Peer Dependencies

This plugin integrates automatically with the GraphQL Codegen plugin

import { ezUpload } from '@graphql-ez/plugin-upload'; const ezApp = CreateApp({ ez: { plugins: [ // ... ezUpload({ // UploadOptions }), ], }, // ... }); export interface UploadOptions { maxFieldSize?: number; maxFileSize?: number; maxFiles?: number; } // You also can use a helper exported from this plugin // that automatically converts the graphql-upload ReadStream // into a more developer-friendly "Buffer" import { readStreamToBuffer } from '@graphql-ez/plugin-upload'; // ... ({ // ... typeDefs: [ // ... gql` type Mutation { uploadFileToBase64(file: Upload!): String! } `, ], resolvers: { // ... Mutation: { async uploadFileToBase64(_root, { file }, _ctx) { const fileBuffer = await readStreamToBuffer(file); return fileBuffer.toString('base64'); }, }, }, });

Plugin Details

Identifier
@graphql-ez/plugin-upload
License
MIT
Version
0.8.1
Updated
Jan 4th, 2024