Skip to content

Conversation

@rjgtav
Copy link
Contributor

@rjgtav rjgtav commented Nov 25, 2025

What?

Implements client-side uploads by splitting files into multiple parts and uploading each one separately.

Why?

To support uploading large files, without reaching the Worker's memory limit.

How?

By splitting the file into multiple small parts and uploading each one separately. This leverages R2's support for multipart uploads: https://developers.cloudflare.com/r2/objects/multipart-objects/

This feature was requested on Discord: https://discord.com/channels/967097582721572934/1428654256562503740/1428654256562503740

@paulpopus
Copy link
Contributor

I rolled back the double upload fix, it had some issues with the way filenames get processed by the server (eg .jpeg to .jpg) so given that other adapters also have this problem, I'll fix it for all of them as we need to export another utility out of Payload to get safe filenames.

@paulpopus paulpopus enabled auto-merge (squash) January 30, 2026 16:17
@paulpopus paulpopus merged commit 5c38902 into payloadcms:main Jan 30, 2026
149 checks passed
@github-actions
Copy link
Contributor

🚀 This is included in version v3.74.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants