# Apollo Server File Upload Best Practices

DevFeed: [Apollo Server File Upload Best Practices](<https://devfeed.tech/articles/apollo-server-file-upload-best-practices-23304.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/file-upload-best-practices>)

Author: Khalil Stemmler

Published: 2020-02-12T18:44:00Z

Content type: article

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [apollo-server](<https://devfeed.tech/topics/apollo-server.md>), [Security](<https://devfeed.tech/topics/security.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [client](<https://devfeed.tech/topics/client.md>)

Tags: [apollo](<https://devfeed.tech/tags/apollo.md>), [backend](<https://devfeed.tech/tags/backend.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [implement](<https://devfeed.tech/tags/implement.md>), [integration](<https://devfeed.tech/tags/integration.md>), [performance](<https://devfeed.tech/tags/performance.md>), [s3](<https://devfeed.tech/tags/s3.md>), [security](<https://devfeed.tech/tags/security.md>)

## AI overview

This article compares three approaches to handling file uploads in a GraphQL architecture: signed URLs, image upload services, and multipart upload requests. It explains that multipart uploads have performance and security costs, and notes that Apollo Server versions no longer include built-in multipart support.

## Source excerpt

Update: May 2022 This post was originally published in 2020. Since then, there have been two major changes. In Apollo Server 3.0 in 2021, we removed the built-in integration with (a specific outdated version of) . We have continued to document how to manually integrate with if you want to implement multipart upload requests. In May 2022, we realized that including multipart uploads in your GraphQL server can make it vulnerable to CSRF attacks.