Common questions about MultipleUpload.
MultipleUpload works with any backend that can receive HTTP file uploads. This includes Node.js (Express, Fastify, Koa), PHP (Laravel, Symfony, plain PHP), Python (Django, Flask, FastAPI), Go, Ruby on Rails, Java (Spring Boot), ASP.NET Core, and any other server-side framework. Your backend just needs to handle multipart/form-data POST requests and return a JSON response.
By default, your server should return JSON with success, fileGuid, fileName, and fileSize fields. However, you can customize this entirely with the responseParser option to adapt to any server response format.
Use the headers option to send authentication tokens with every upload request. You can include Bearer tokens, API keys, CSRF tokens, or any custom headers your backend requires. For cookie-based auth with cross-origin requests, set withCredentials: true.
MultipleUpload is a commercial product with per-site licensing. A single site license starts at $99. Multi-site and enterprise licenses are also available. See the pricing page for details. There is no free or open-source tier, but you can try the component in the demo gallery before purchasing.
Yes. Set the chunkSize option to enable chunked uploads. Files larger than the chunk size are automatically split and uploaded sequentially. Each chunk is sent as a separate request with metadata headers so your backend can reassemble them. This lets you handle files of any size without hitting server upload limits.
Absolutely. MultipleUpload provides full CSS customization through CSS variables (--mu-* properties) for colors, spacing, fonts, and border radii. Every element has a named CSS class (.mu-*) for granular overrides. You can also use dark mode, attachment mode, and fully replace the HTML templates for the drop zone and file items.
Yes. MultipleUpload is a standalone JavaScript component with zero dependencies, so it works in any environment. In React, initialize it in a useEffect hook. In Vue, use onMounted. In Angular, use ngAfterViewInit. Point it at a container element and it handles everything else. No framework-specific wrapper is required.
There is no client-side file size limit imposed by MultipleUpload. With chunked uploads enabled, you can upload files of any size. The practical limit depends on your server configuration and available disk space. You can optionally set a maxFileSize for client-side validation before upload begins.
Yes. Full TypeScript type definitions are included in the npm package. You get autocomplete, type checking, and inline documentation in VS Code and other TypeScript-aware editors. No separate @types package is needed.
Yes. MultipleUpload is available on unpkg. You can include it directly with a <script> tag and <link> tag pointing to https://unpkg.com/multipleupload/dist/multipleupload.js and https://unpkg.com/multipleupload/dist/multipleupload.css. No build step or npm required.