Skip to content

Use @nextcloud/upload for chunked file uploads #3449

Description

@Koc

The Forms app currently uses a basic file input with simple FormData uploads. This works but has limitations for large files.

Nextcloud has a proper upload library (@nextcloud/upload) that supports chunked uploads, progress tracking, and resumability - the same experience users get in Nextcloud server.

Would be nice to add that to forms as well

Activity

  1. aleksandrmukhin74 commented on Jul 19, 2026

    @aleksandrmukhin74

    I can confirm this issue on Android PWA — video files over ~2.1 MB crash immediately due to WebView IPC buffer limit. Chunked uploads would fix this completely.

  2. Koc commented on Jul 19, 2026

    @Koc
    CollaboratorAuthor

    I thought about the implementation and here are my findings:

    • there are no any other apps what uses @nextcloud/upload except server
    • we should use 3 http calls:
      • MKCOL to initialize upload workspace
      • actually chunk upload
      • MOVE assemble call to merge chunks

    So it seems like we should create a temporary folder in form owner filesystem, share this folder with submitter and upload file inside it. After that we can submit form by passing fileId.

    WDYT @Chartman123 ?

  3. Chartman123 commented on Jul 19, 2026

    @Chartman123
    Collaborator

    Pinging @susnux, too, as he probably knows more about the lib and how to use it best with Forms. :)

  4. susnux commented on Jul 19, 2026

    @susnux
    Collaborator

    I can confirm this issue on Android PWA — video files over ~2.1 MB crash immediately due to WebView IPC buffer limit. Chunked uploads would fix this completely.

    Chunked uploads would not solve this because a chunk is usually >= 10MB so bigger than your 2.1MB.

    there are no any other apps what uses @nextcloud/upload except server

    There is, the photos app.

    Pinging @susnux, too, as he probably knows more about the lib and how to use it best with Forms. :)

    @nextcloud/upload is not actively worked on, we will instead add uploading API to @nextcloud/files (its already available in beta with v4.1.0-beta). Moreover soon there will be a component for this purpose in @nextcloud/vue so it can be used with Vue 2 and Vue 3.

  5. Koc commented on Jul 19, 2026

    @Koc
    CollaboratorAuthor

    @susnux so, what's our next actions? Wait for libraries update and return to this issue after that?

  6. susnux commented on Jul 20, 2026

    @susnux
    Collaborator

    I would recommend waiting ~a month and then use the logic from the library

  7. Koc commented on Aug 31, 2026

    @Koc
    CollaboratorAuthor

    @susnux hey-hey!
    Have you released everything that planned? As far I can see the latest tag was released few days ago. Does it enable work on the current task?

    Where can I get inspiration (are we using this new uploaded anywhere already)?

  8. susnux commented on Aug 31, 2026

    @susnux
    Collaborator

    nextcloud-files v4.1.0 beta was release including the API already - the component is being reviewed:
    nextcloud-libraries/nextcloud-vue#7882

  9. Koc commented on Aug 31, 2026

    @Koc
    CollaboratorAuthor

    @susnux sorry, I didn't get. Should I wait for nextcloud-libraries/nextcloud-vue#7882 as well?

  10. susnux commented on Aug 31, 2026

    @susnux
    Collaborator

    Depends if it makes sense to reuse the component here, otherwise you can also just use the logic from the library

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions