React Integration
Example code showing how to integrate MultipleUpload with a React component using useEffect and useRef.
Drag & drop files here
// React Component: FileUploader.jsx
import React, { useEffect, useRef } from 'react';
import MultipleUpload from 'multipleupload';
function FileUploader({ uploadUrl, onComplete }) {
const containerRef = useRef(null);
const uploaderRef = useRef(null);
useEffect(() => {
uploaderRef.current = new MultipleUpload(containerRef.current, {
uploadUrl: uploadUrl,
onTaskComplete: (task) => {
if (onComplete) onComplete(task);
}
});
return () => {
// Cleanup on unmount
if (uploaderRef.current && uploaderRef.current.destroy) {
uploaderRef.current.destroy();
}
};
}, [uploadUrl]);
return (
<div ref={containerRef} className="mu-uploader">
<button type="button" className="mu-select-btn">Select Files</button>
<input type="file" className="mu-file-input" multiple style={{ display: 'none' }} />
<div className="mu-dropzone">
<div className="mu-dropzone-text">Drag & drop files here</div>
</div>
<div className="mu-queue"></div>
</div>
);
}
export default FileUploader; // Usage in your App
import FileUploader from './FileUploader';
function App() {
return (
<FileUploader
uploadUrl="/api/upload"
onComplete={(task) => console.log('Uploaded:', task.name)}
/>
);
}