You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature Request] Implement Client-Side Chunked Uploads for large file support behind proxies #93
My reverse proxy has a strict upload limit of 50MB per request.
Currently, uploading any file larger than this limit fails because the application tries to send the whole file in a single HTTP request.
Proposed Solution
Please implement client-side chunking for uploads.
It would be great to have an environment variable (e.g., in the frontend config) to define the maximum chunk size. This would allow users to set a chunk size (e.g., 10MB) that fits within their proxy's constraints, bypassing the global per-request limit.
I observed that:
Frontend: files-upload.service.ts currently performs a single POST/PUT request with the full file content.
Backend: The server streams the incoming request directly to disk.
Implementing a mechanism (like File.slice() on the client + an append/assembly logic on the server) would make the application much more robust for self-hosted environments.
The implementation is indeed possible on the frontend and in the sync clients.
However, the issue would still persist for uploads performed via WebDAV.
WebDAV can be used by many different clients, most of which strictly follow the RFC semantics, where a file upload is performed using a single PUT request per file.
As a result, these clients do not support application-level chunking, and any per-request upload limits enforced by reverse proxies or gateways will still apply.
That said, we acknowledge the limitation this creates in certain environments, and we continue to evaluate possible approaches to improve upload robustness while taking WebDAV interoperability into account.
Just to add to this - Cloudflare has a 100mb upload limit for proxied domains/cnames. And I suspect a huge number of people are using cloudflare as their dns, so it's probably worth figuring out some kind of chunking option, even if it's opt-in or unavailable to webdav users.
Everytime I want to upload a large file I have to wait for WebDAV to fail on Mountian Duck, get a notification there was an issue, go to the web view to upload, remember that doesn't work either, then go to the web view via IP address to get them onto my server. So would love to have an option to enable chunking at all so I can at least use the desktop app or domain via web.
Activity
johaven commentedon Jan 11, 2026
The implementation is indeed possible on the frontend and in the sync clients.
However, the issue would still persist for uploads performed via WebDAV.
WebDAV can be used by many different clients, most of which strictly follow the RFC semantics, where a file upload is performed using a single PUT request per file.
As a result, these clients do not support application-level chunking, and any per-request upload limits enforced by reverse proxies or gateways will still apply.
That said, we acknowledge the limitation this creates in certain environments, and we continue to evaluate possible approaches to improve upload robustness while taking WebDAV interoperability into account.
depfryer commentedon Jan 11, 2026
Thank you for the explanations, I didn't know that webdav was "limited", And that the solution must be found differently
StudioNirin commentedon Aug 6, 2026
Just to add to this - Cloudflare has a 100mb upload limit for proxied domains/cnames. And I suspect a huge number of people are using cloudflare as their dns, so it's probably worth figuring out some kind of chunking option, even if it's opt-in or unavailable to webdav users.
AnotherMike-exe commentedon Aug 20, 2026
Want to +1 this feature.
Everytime I want to upload a large file I have to wait for WebDAV to fail on Mountian Duck, get a notification there was an issue, go to the web view to upload, remember that doesn't work either, then go to the web view via IP address to get them onto my server. So would love to have an option to enable chunking at all so I can at least use the desktop app or domain via web.