javascript - 上传前的javascript预览图像
问题描述
我在img框中按顺序打了一个代码。但是,如果 if (file.size > 1M) 很大,则会在 img 框中出现空格。如何让下一张图片在没有空格的情况下进入?
**
上传前的javascript预览图像
**
<form class="my_form">
<input type="file" id="fileElem" multiple accept="image/*"
onchange="handleFiles(this.files)">
<label class="button" for="fileElem">Select Images</label>
<div id="gallery">
<img id="**imgg0**" class="imgg">
<img id="**imgg1**" class="imgg">
<img id="**imgg2**" class="imgg">
<img id="**imgg3**" class="imgg">
<img id="**imgg4**" class="imgg">
</div>
</form>
<script>
function handleFiles(files) {
var files = [...files]
var imgs = document.querySelectorAll('img');
files.forEach(function(file, index){
if(file.size > 1000000){
delete file[index];
} else{
let reader = new FileReader()
reader.readAsDataURL(file)
reader.onloadend = function() {
var img = **document.getElementById('imgg'+index)**;
img.src = reader.result;
}
}
})
}
</script>
[enter image description here][1]
[1]: https://i.stack.imgur.com/0dJ45.png
解决方案
检查我的解决方案。
function handleFiles(files) {
var imgs = document.querySelectorAll('img');
//Image element undex
let imgIndex=0;
//Loop through all the images
for(var i = 0; i < files.length; i++){
var reader = new FileReader();
reader.onload = function(e) {
var img = document.getElementById('imgg'+imgIndex);
img.src = e.target.result;
imgIndex++;
}
reader.readAsDataURL(files[i]);
}
}
<form class="my_form">
<input type="file" id="fileElem" multiple accept="image/*" onchange="handleFiles(this.files)">
<label class="button" for="fileElem">Select Images</label>
<div id="gallery">
<img id="imgg0" width="10%" class="imgg">
<img id="imgg1" width="10%" class="imgg">
<img id="imgg2" width="10%" class="imgg">
<img id="imgg3" width="10%" class="imgg">
<img id="imgg4" width="10%" class="imgg">
</div>
</form>
推荐阅读
- r - R,时间序列分解中的不完全元素
- php - Laravel5.8 我无法将数据存储到我的 sql server
- powershell - 在 powershell 中使用 get-childitem 时排除文件夹和文件
- ios - 在 Xcode 中使用 webview 时,应用程序确实返回到主登录目标页面
- sails.js - bodyParser 未在 Sails.js 中执行验证选项
- mysql - 根据某些条件返回行,如果没有行符合条件,则返回 mariadb sql 中的所有行
- powershell - PowerShell 开关仍在生成输出文件
- javascript - 如何将父组件状态数据传递给变量中的子组件
- android - 来自 url 的图像未在移动数据连接上加载
- post - 将发布请求分配给变量是否会将其所有响应内容读入内存?