import React, { useState } from 'react'; import { ref, uploadBytesResumable, getDownloadURL } from 'firebase/storage'; import { storage } from '../firebase'; function Upload() { const [file, setFile] = useState(null); const [progress, setProgress] = useState(0); const [url, setUrl] = useState(''); const handleFileChange = (e) => { if (e.target.files[0]) { setFile(e.target.files[0]); } }; const handleUpload = () => { if (!file) { alert('Please choose a file first!'); return; } const storageRef = ref(storage, `uploads/${file.name}`); const uploadTask = uploadBytesResumable(storageRef, file); uploadTask.on( 'state_changed', (snapshot) => { const progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100; setProgress(progress); }, (error) => { console.error('Upload failed', error); }, () => { getDownloadURL(uploadTask.snapshot.ref).then((downloadURL) => { setUrl(downloadURL); alert('File uploaded successfully!'); }); } ); }; return (

Upload Content

Upload Progress: {progress}%

{url &&

File URL: {url}

}
); } export default Upload;