Learn to set up Firebase Storage, validate file sizes (eg, 5MB), and handle file uploads with proper error management in this step-by-step guide.

Book a call with an Expert
Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.
Step 1: Set up Firebase in your project
Start by setting up Firebase in your project. This includes adding Firebase to your app and ensuring you have configured Firebase Storage.
For web:
First, ensure you have installed Firebase using npm or yarn. Alternatively, you can include it through a CDN.
Install via npm:
npm install firebase
Initialize Firebase:
Create a firebase-config.js file and add your configuration details:
import { initializeApp } from "firebase/app";
import { getStorage } from "firebase/storage";
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.appspot.com",
messagingSenderId: "YOUR_MESSAGING_SENDER\_ID",
appId: "YOUR_APP_ID"
};
const app = initializeApp(firebaseConfig);
const storage = getStorage(app);
export {storage};
Step 2: Create a file input to upload files
Create a simple file input for users to select a file they want to upload. This can be done with basic HTML.
Upload File
Step 3: Validate file size before uploading
Write a function that checks the file size before initiating the upload to Firebase Storage. You can limit the file size to your desired threshold (e.g., 5 MB).
document.getElementById('uploadButton').addEventListener('click', function() {
const fileInput = document.getElementById('fileInput');
const file = fileInput.files[0];
const maxSizeInBytes = 5 _ 1024 _ 1024; // 5 MB
if (file.size > maxSizeInBytes) {
alert('File is too big!');
return;
}
// If file size is valid, proceed with the upload
uploadFile(file);
});
function uploadFile(file) {
const { storage } = require('./firebase-config');
const { ref, uploadBytes } = require('firebase/storage');
const storageRef = ref(storage, 'your/path/' + file.name);
uploadBytes(storageRef, file).then((snapshot) => {
console.log('Uploaded a blob or file!');
}).catch((error) => {
console.error('Upload failed:', error);
});
}
Step 4: Handle response and errors
Ensure you have appropriate error handling during the upload process for better user experience.
function uploadFile(file) {
const { storage } = require('./firebase-config');
const { ref, uploadBytes } = require('firebase/storage');
const storageRef = ref(storage, 'your/path/' + file.name);
uploadBytes(storageRef, file)
.then((snapshot) => {
alert('File uploaded successfully!');
})
.catch((error) => {
console.error('Upload failed:', error);
alert('Upload failed, please try again.');
});
}
This step-by-step tutorial guides you through setting up a basic file upload to Firebase Storage with file size validation. You can customize and expand upon this template to fit more complex scenarios or specific needs.
When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.