SpringMVC與layui搭配實現圖片上傳(根據日期建立對應資料夾,配置虛擬目錄,壓縮上傳,瀏覽器版本相容)
阿新 • • 發佈:2019-02-09
$(function() {
/**
* layui圖片上傳控制元件
*/
layui.use(['upload','form', 'layer'], function() {
var $ = layui.jquery
, upload = layui.upload;
var ieVersion = IEVersion();
//上傳身份證正面
upload.render({
elem: '#cardFrontPic' //表示當點這個id時,會觸發上傳控制元件,選擇圖片
, url: '${ctx}/userInfoApply/upload'
, exts: 'jpg|png|jpeg' //表示允許上傳的圖片格式
, before: function (obj) {
//預讀本地檔案示例,不支援ie8
//獲取瀏覽器版本號判斷ie版本,增強相容
console.log(ieVersion);
if (ieVersion >= 10 ){
obj.preview(function (index, file, result) {
// console.log("版本大於10或不是ie瀏覽器");
// 這時的filename不是 importFile 框中的值
$('#Front').attr('style','display:none');
$('#cardFrontImg' ).attr('style','display:block').attr('src', result); //圖片連結(base64)
});
}
}
, done: function (res) {
//如果上傳失敗
if (res.code > 0) {
$('#cardFrontImg').attr('style','display:none');
$('#Front').attr('style','display:block');
return layer.msg('上傳的圖片不能大於10M',{icon: 0});
}else{
//上傳成功
//如果ie版本在10以下,則使用伺服器圖片地址回顯
if(ieVersion < 10 || ieVersion =="edge"){
//console.log("ie版本小於10");
$('#Front').attr('style','display:none');
$('#cardFrontImg').attr('style','display:block').attr('src',"${ctx}/"+res.data.src);
}
$('#cardFrontPicture').val(res.data.src);
layer.msg("圖片上傳成功",{icon:1});
}
}
});
});
});
//獲取瀏覽器版本
function IEVersion() {
var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字串
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判斷是否IE<11瀏覽器
var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判斷是否IE的Edge瀏覽器
var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
if(isIE) {
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
if(fIEVersion == 7) {
return 7;
} else if(fIEVersion == 8) {
return 8;
} else if(fIEVersion == 9) {
return 9;
} else if(fIEVersion == 10) {
return 10;
} else {
return 6;//IE版本<=7
}
} else if(isEdge) {
return 'edge';//edge
} else if(isIE11) {
return 11; //IE11
}else{
return 20;//不是ie瀏覽器
}
}