diff options
author | Biswakalyan Bhuyan <biswa@surgot.in> | 2024-07-25 18:52:28 +0530 |
---|---|---|
committer | Biswakalyan Bhuyan <biswa@surgot.in> | 2024-07-25 18:52:28 +0530 |
commit | 458a8c849da82adf045a40919a4a9e3aa06e1c06 (patch) | |
tree | 12a38c835c45a66f0fd194dfa832aab618c1ff32 /src/components/Upload.js | |
parent | f80a3c811059a22f91842658aaace9e283a704d1 (diff) | |
download | admin-panel-458a8c849da82adf045a40919a4a9e3aa06e1c06.tar.gz admin-panel-458a8c849da82adf045a40919a4a9e3aa06e1c06.tar.bz2 admin-panel-458a8c849da82adf045a40919a4a9e3aa06e1c06.zip |
initialized vite+react project
Diffstat (limited to 'src/components/Upload.js')
-rw-r--r-- | src/components/Upload.js | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/src/components/Upload.js b/src/components/Upload.js deleted file mode 100644 index 6308fda..0000000 --- a/src/components/Upload.js +++ /dev/null @@ -1,54 +0,0 @@ -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 ( - <div className="Upload"> - <h2>Upload Content</h2> - <input type="file" onChange={handleFileChange} /> - <button onClick={handleUpload}>Upload</button> - <p>Upload Progress: {progress}%</p> - {url && <p>File URL: <a href={url} target="_blank" rel="noopener noreferrer">{url}</a></p>} - </div> - ); -} - -export default Upload; |