Để xem trước hình ảnh ngay khi người dùng chọn file (trước khi tải lên server), bạn có thể sử dụng FileReader API kết hợp với jQuery.
Mã HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <form id="form1"> <input type='file' id="demo" /> <img id="myid" src="#" alt="Ảnh xem trước" /> </form>
Mã jQuery
function display(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(event) {
$('#myid').attr('src', event.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#demo").change(function() {
display(this);
});
Giải thích
- Khi người dùng chọn file, sự kiện
changecủa input file được kích hoạt. FileReader.readAsDataURL()đọc file và chuyển thành chuỗi Data URL (base64).- Khi tải xong (
onload), gán chuỗi Data URL vào thuộc tínhsrccủa thẻ<img>để hiển thị xem trước.
Cách này không yêu cầu tải file lên server, giúp người dùng kiểm tra ảnh ngay lập tức.