JavaScript
Beginner
Updated 7h ago
Image Upload with Preview
Image upload with instant preview, file type validation, and size limit.
<input type="file" id="imageInput" accept="image/*" onchange="previewImage(event)">
<div id="previewContainer" style="margin-top:10px"></div>
<script>
function previewImage(event) {
const file = event.target.files[0];
if (!file) return;
if (!file.type.startsWith("image/")) { alert("Please select an image file"); event.target.value = ""; return; }
const maxSize = 2 * 1024 * 1024;
if (file.size > maxSize) { alert("Image must be under 2MB"); event.target.value = ""; return; }
const reader = new FileReader();
reader.onload = function(e) {
document.getElementById("previewContainer").innerHTML =
`<img src="${e.target.result}" style="max-width:300px;border-radius:8px;border:1px solid #ddd">`;
};
reader.readAsDataURL(file);
}
</script>
Technical Breakdown
Image preview with FileReader API, type validation, and size limit.
Pitfalls & Solutions
1. Not clearing preview. 2. Memory leaks. 3. No server-side validation.
Tags
#JavaScript
#Forms
#Upload