# Feature OP-4501 - Direct-to-S3 file uploads

Project: OpenProject
Status: closed
URL: https://community.openproject.org/work_packages/OP-4501

## Planning

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | Medium |
| Target versions | 11.0.0 |
| Sprint | 11.0.0 |
| Backlog bucket |  |
| Votes |  |
| List |  |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

_No work packages_

## Features and Chunks

_No work packages_

## Bugs and other work packages

_No work packages_

## Technical Details

| Attribute | Value |
| --- | --- |
| Module |  |
| Feature Flag |  |
| Requires doc change | No |
| Enterprise plan |  |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups |  |
| Found in mobile app version |  |
| Follow-up feedback e-mail |  |
| Accessibility | No |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable |  |
| Product manager |  |
| Developers |  |
| Designer |  |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| PD (min) |  |
| PD (max) |  |
| Work |  |
| Labor costs |  |

## Description

**As** an OpenProject user  
**I want** to be able to upload arbitrarily large files  
**so that** I can share arbitrarily large files with other people.

Currently this does not work. Just uploading files around 100mb can result in a gateway timeout depending on how much bandwidth the user has.

A possible solution for our SaaS platform is to upload files directly to S3 which can handle any file size.

For reference: https://devcenter.heroku.com/articles/direct-to-s3-image-uploads-in-rails

Roughly this might work as follows:

  - in APIv3’s work package form we generate a pre-signed S3 URL to post to for uploads
  - the frontend posts the upload to that URL instead of the usual OpenProject URL
  - we’d need a separate request to let OpenProject know that a file has been uploaded to S3
