An HTTP link for apollo that allows for simpler file uploads

Usage no npm install needed!

<script type="module">
  import apolloLinkUpload from 'https://cdn.skypack.dev/apollo-link-upload';



Build Version Size License

This package can be used to perform file uploads. It is compatible with Absinthe and GraphQL::Extras.


  • Written in TypeScript.
  • Simple server-side implementation.
  • Support for FileList and multiple file uploads.
  • Supports React Native.

Supported Backends


import ApolloClient from "apollo-client";
import { createUploadLink } from "apollo-link-upload";

const client = new ApolloClient({
  link: createUploadLink({ uri: "/graphql" })

React Native

Values submitted in React Native will only be recognized as a file if it is an instance of ReactNativeFile.

import { ReactNativeFile } from "apollo-link-upload";

const file = new ReactNativeFile({
  uri: "something",
  name: "a.jpg",
  type: "image/jpeg"

Similar Packages


To install dependencies:

$ yarn install

To run the test suite:

$ yarn test