<input type="file" id="uploadInput" accept="image/*" onchange="previewImage()">其中,type="file"指定该input为选择文件的控件。id="uploadInput"是为了在JavaScript中获取该控件对象。accept="image/*"设置只接收图片文件。onchange="previewImage()"则是指定当用户选择图片后触发的事件为previewImage()函数。 接下来,我们编写previewImage()函数实现图片预览效果。函数代码如下:
function previewImage() {
var preview = document.getElementById('previewDiv');
preview.innerHTML = '';
var file = document.getElementById('uploadInput').files[0];
var reader = new FileReader();
reader.onloadend = function () {
var img = document.createElement('img');
img.src = reader.result;
img.style.maxWidth = '100%';
img.style.maxHeight = '100%';
preview.appendChild(img);
}
if (file) {
reader.readAsDataURL(file);
}
}该函数中,我们首先通过document.getElementById获取预览图片的div元素对象,用于插入预览图片。然后获取input文件控件对象并获取用户所选择的文件。利用FileReader API中的readAsDataURL()方法将用户选择的文件读取成base64编码的字符串,然后创建一个image元素,并将读取到的字符串设置为该元素的src属性,从而实现图片预览效果。最后插入到div元素中。
下面,我们再来看一个完整的例子。
HTML代码:<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>图片上传预览效果</title>
</head>
<body>
<input type="file" id="uploadInput" accept="image/*" onchange="previewImage()">
<div id="previewDiv"></div>
<script>
function previewImage() {
var preview = document.getElementById('previewDiv');
preview.innerHTML = '';
var file = document.getElementById('uploadInput').files[0];
var reader = new FileReader();
reader.onloadend = function () {
var img = document.createElement('img');
img.src = reader.result;
img.style.maxWidth = '100%';
img.style.maxHeight = '100%';
preview.appendChild(img);
}
if (file) {
reader.readAsDataURL(file);
}
}
</script>
</body>
</html>在选择图片后,页面将会显示该图片的预览效果。
以上就是使用JavaScript实现图片上传预览效果的方法和实例,在实际开发中,我们还可以通过CSS样式来美化预览效果,并可以结合其他插件实现更丰富的图片上传功能。
      查看更多关于javascript 图片上传预览效果的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did252739