statamic / ideas

đź’ˇDiscussions on ideas and feature requests for Statamic
https://statamic.dev
30 stars 1 forks source link

Feature Request: Support for Chunked Uploads in Asset Library #1186

Open ceesvanegmond opened 4 days ago

ceesvanegmond commented 4 days ago

Title: Feature Request: Support for Chunked Uploads in Asset Library

Description:

Hello Statamic team,

I hope you are doing well. I would like to request a feature that would significantly enhance the functionality and usability of the asset library, especially when dealing with large files.

Request: Is it possible to implement support for chunked file uploads in the asset library when connected to an S3 bucket? S3 (or similar) already allows for bigger files to store. For instance if I want to upload a 1GB file within the asset manager I have to set some nginx and php custom config for this to happen which is not really managable and handy.

Rationale: Chunked file uploads allow for large files to be uploaded in smaller, more manageable pieces, which can significantly improve the upload experience by:

Use Case: This feature would be particularly beneficial for users who need to upload large media files (videos, high-resolution images, etc.) to their Statamic-powered sites, ensuring a smoother and more reliable upload process.

Technical Considerations: Implementing chunked uploads typically involves:

  1. Splitting the file into smaller chunks client-side.
  2. Uploading each chunk to the server sequentially or in parallel.
  3. Reassembling the chunks into a single file on the server.
  4. Handling any errors or interruptions to allow for retrying failed chunks.

Given that Statamic supports integration with S3 for asset storage, this feature would also require ensuring compatibility with S3's multipart upload capabilities.

Conclusion: Adding support for chunked uploads would greatly enhance the robustness and reliability of large file uploads in Statamic, particularly for users leveraging S3 for their asset storage. I think it's already possible within Livewire so it shouldn't be super hard?

Thank you for considering this feature request. I am looking forward to your response and am happy to provide any further information or assistance if needed.