Uploading multiple files using a browser (to a Domino server) has never been very user friendly: the Browse dialog only allows selecting a single file, there is very limited feedback on the progress of the upload(s), and filesize validation before uploading is impossible.
One of the alternatives for uploading files is to use a (open source) Flash-based uploader. They use a (semi-)hidden Flash component that handles file selection and uploads. On Codestore, Jake Howlett wrote an article about doing multiple file uploads to Domino using Flex, but I wanted a solution that didn't involve Flex but only uses (d)HTML, CSS, Javascript and a hidden Flash component: In this demo application. SWFUpload is used to perform the actual uploads.
The releases section of this project contains a non-xpage release (built using fors, view, agents) that can be used in Domino 6+ and an XPages version that requires Domino 8.5.2+.
Visit my blog for other interesting articles or if you need to contact me.
Features
-
UI built using HTML, CSS, Javascript, can be customized.
-
Works in all major browsers with Flash 9 (or higher).
-
Progress bar for every upload.
-
Multiple-file selection dialog.
-
Filtered file selection dialog (e.g. allow the user to select images only).
-
Check file sizes and file types before uploading.
-
No configuration changes/ additional installations to the Domino server required (e.g. DominoDisableFileUploadChecks notes.ini parameter, servlets)
-
Javascript callbacks on all methods - no page reloads needed when doing uploads.
-
Queue uploads, add and remove files before starting the uploads.
-
Cancel individual or all uploads when in progress.
-
Remove uploaded files directly from the back-end document (without page reloads).
-
Uses the Dojo Javascript framework for UI, DOM manipulation and I/O (Ajax requests). Can easily be rewritten to use another framework (YUI, jQuery, Mootools, Prototype, ...)
-
Works with HTTP Basic and Session authentication, with or without SSL (but no self-signed certificates).
-
Allows for Gmail-style in-form file uploads.