前端-多张图片的上传预览效果
1.html
<body>
<input type="file" id="upFile" multiple>
<br>
<div id="imgList"></div>
</body>
2.css
.img {
display: block;
padding: 10px 10px;
width: 200px;
height: 100px;
border: 1px solid #ccc;
border-radius: 5px;
margin: 10px auto;
background-color: pink;
}
#imgList{
display: flex;
margin-top: 20px;
width: 100%;
height: 150px;
border: 2px dashed #000;
}
3.js
<script>
var upFile = document.getElementById('upFile');
var imgList = document.getElementById('imgList');
upFile.onchange = function () {
imgList.innerHTML=null
var reader;
var filesList = Array.from(this.files)
for (let i = 0; i < filesList.length; i++) {
window.FileReader?reader = new FileReader():alert("您的设备不支持图片预览功能,如需该功能请升级您的设备!")
reader.readAsDataURL(filesList[i]);
reader.onload = function () {
imgList.innerHTML += `<img src=${this.result} alt=img${i} class='img'>`
};
}
}
</script>
FileReader的使用