External Browse Button
Use any element on the page as the file-browse trigger with the browseButton option.
(function() {
new MultipleUpload('#demo', {
uploadUrl: '/api/upload',
multiple: true,
browseButton: '#my-browse'
});
})();
Using a button you already have
browseButton defaults to null, which is when the component renders its own. Point it at a selector or element and that element becomes the trigger instead, so the uploader can sit behind a button that already matches your design system — no overriding of the built-in styles, no fighting specificity.
The hidden input stays hidden
This is the standard way around the fact that a file input cannot be styled. The real input remains in the DOM and off-screen; your button forwards the click to it. Keep the trigger a real <button> rather than a styled <div> so that keyboard focus and screen-reader announcement keep working for free.