HTML 代码
<div class="layui-upload">
<button type="button" class="layui-btn btnUploadImg" data-url="/webBankImgController.do?uploadBankImg1" data-file="jpg" id="test1">上传图片</button>
<div class="layui-upload-list">
<input type="hidden" id="input1" value="">
<img class="layui-upload-img" id="demo1" style="width: 100px;height: 100px;">
<p class="demoText"></p>
</div>
</div>
<div class="layui-upload">
<button type="button" class="layui-btn btnUploadImg" data-url="/webBankImgController.do?uploadBankImg2" data-file="jpg" id="test2">上传图片</button>
<div class="layui-upload-list">
<input type="hidden" id="input2" value="">
<img class="layui-upload-img" id="demo2" style="width: 100px;height: 100px;">
<p class="demoText"></p>
</div>
</div>
<div class="layui-upload">
<button type="button" class="layui-btn btnUploadImg" data-url="/webBankImgController.do?uploadBankImg3" data-file="jpg" id="test3">上传图片</button>
<div class="layui-upload-list">
<input type="hidden" id="input3" value="">
<img class="layui-upload-img" id="demo3" style="width: 100px;height: 100px;">
<p class="demoText2"></p>
</div>
</div>
<div class="layui-upload">
<button type="button" class="layui-btn btnUploadImg" data-url="/webBankImgController.do?uploadBankImg4" data-file="jpg" id="test4">上传图片</button>
<div class="layui-upload-list">
<input type="hidden" id="input4" value="">
<img class="layui-upload-img" id="demo4" style="width: 100px;height: 100px;">
<p class="demoText2"></p>
</div>
</div>
js
layui.use(['form','layer','upload'], function(){
var form = layui.form
,layer = layui.layer
,$ = layui.jquery
,upload = layui.upload;
var btnUpload = document.getElementsByClassName("btnUploadImg");
for (let i = 0; i < btnUpload.length; i++) {
var dataUrl = $(btnUpload[i]).attr("data-url");
var dataFile = $(btnUpload[i]).attr("data-file");
//普通图片上传
var uploadInst = upload.render({
elem: '#'+btnUpload[i].id
,url: dataUrl
,accept:"file"
,exts:dataFile
,before: function(obj){
var btnId = btnUpload[i].id;
var imgId = $("#" +btnId).siblings("div").find("img").attr("id");
//预读本地文件示例,不支持ie8
obj.preview(function(index, file, result){
$('#' +imgId).attr('src', result); //图片链接(base64)
});
}
,done: function(res){
//如果上传失败
if(res.code > 0){
return layer.msg('上传失败');
}
//上传成功
var btnId = btnUpload[i].id;
var inputId = $("#" +btnId).siblings("div").find("input[type='hidden']").attr("id");
$("#" +inputId).val(res.obj)
}
,error: function(){
//演示失败状态,并实现重传
var btnId = btnUpload[i].id;
var demoText = $("#" +btnId).siblings("div").find('p');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
demoText.find('.demo-reload').on('click', function(){
uploadInst.upload();
});
}
});
}
});
效果