Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New File Upload Input #136

Merged
merged 44 commits into from
Aug 15, 2024
Merged

New File Upload Input #136

merged 44 commits into from
Aug 15, 2024

Conversation

PhilReinking
Copy link
Contributor

@PhilReinking PhilReinking commented Feb 20, 2024

This PR will add support for file uploads in forms.

File Input Configuration

The input has for now two configurations when added to a block.

  • The number of files allowed per block to upload
  • The total size of the files allowed to upload

I want to somehow limit this here because I think it might be possibly harmful if users can upload files that are too big. Images, PDFs, texts are files that I would consider reasonable enough to accept. But if users want to upload videos or other large files, that should happen with other services that are optimized for these kinds of file sharing.

File Upload Frontend

The file upload can handle one or multiple files at the same time. This mirrors the native behavior of a single file input.
A user can select via the file explorer or drop files into the drop area on the form.

CleanShot 2024-02-20 at 18 11 08

Uploads should only happen at the end when the user clicks the Submit button. In that way, possible consents or other inputs are safely captured. If the user cancels submitting the form, no data has been uploaded, therefore no need for cleaning up anything on the server.

To make handling of the uploads easy, my idea is to create a new file upload endpoint, that expects the form session and the block interaction the upload is made from. Each file could be uploaded individually, that allows for better error handling and maybe better performance when uploading.

Handling on server

  • What to expect of the server load?
  • Files should be encrypted before storage?
  • How are files retrieved by other services? (Signed Link? Uploaded files must never be public)
  • How can the user acccess the files?
  • How long are files stored and is there an storage limit?

@franciscomfcmaia
Copy link

Is this available? Super important feature for our use case.

@PhilReinking
Copy link
Contributor Author

@franciscomfcmaia still a work in progress. If you would like to test it out, I think that a first stable version will be available by end of this week.

@Th0rGer
Copy link

Th0rGer commented Apr 4, 2024

how is the Status of the File-Upload feature? :) @PhilReinking

@PhilReinking
Copy link
Contributor Author

@Th0rGer almost there, need some further testing and adjustments.

@PhilReinking PhilReinking marked this pull request as ready for review August 15, 2024 13:21
@PhilReinking PhilReinking merged commit 8c269fa into main Aug 15, 2024
4 checks passed
@PhilReinking PhilReinking deleted the input-file branch August 16, 2024 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants