原理:用upload.render() 組件實現上傳,服務端保存好圖片返回路徑,這種只適合上傳即保存的功能,如果想上傳多張后再一次保存,不建議使用。
<script>
//多圖上傳
layui.use('upload', function () {
var $ = layui.jquery
, upload = layui.upload;
var uploadInstss = upload.render({
elem: "#uploadPic"
, multiple: true
, url: '接口地址'
, exts: 'jpg|png' //只允許圖片
, done: function (res) {
$("#noMsgDIV").hide();
//如果上傳失敗
if (res.code > 0)
{
return layer.msg('上傳失敗');
}
//上傳成功
if (!res.error) {
AppendPic(res.FileName)
}
}
, error: function () {
//演示失敗狀態,並實現重傳
var demoText = $('#demoText');
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();
});
}
});
})
function AppendPic(FileName) {
if ($(".contentpic").length >= 5) {
return layer.msg('最多上傳5張圖片。');
}
var html = "<div class=\"contentpic\" style=\"display: inline-block;margin:7px;\">" +
"<img src=\"" + FileName + "\" style=\"width:240px;height:120px;\" />" +
"<div onclick=\"delPic(this)\" class=\"layui-btn layui-btn-sm layui-btn-normal delbtn\"><i class=\"layui-icon\"></i>刪 除</div>" +
"</div>";
var abhtml = $("#Big_ContentPic").html();
abhtml += html;
$("#Big_ContentPic").html(abhtml)
}
function delPic(thisObj) {
$(thisObj).parent().remove();
//這里可寫成刪除圖片ajax請求
}
</script>
