<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="file" id="ms_upload_file">
<script type="text/javascript" src="jquery.js"></script>
<script>
$("#ms_upload_file").change(function () {
//检验非空和文件大小
if ($(this).val() !== '' && checkSize(this)) {
//其他操作
console.log("上传")
}
});
/**
* 函数:检查上传文件大小
* 输入:input的js对象
* 输出:
**/
var userAgent = navigator.userAgent;
function checkSize(input) {
var Sys = {};
var flag;
var filesize = 0;
//判断浏览器种类
if (userAgent.indexOf("MSIE") > 0 || userAgent.indexOf("rv:11.0") > 0) {
Sys.ie = true;
}
if (userAgent.indexOf("Firefox") > 0) {
Sys.firefox = true;
}
if (userAgent.indexOf("Chrome") > 0) {
Sys.Chrome = true;
}
//获取文件大小
if (Sys.firefox || Sys.Chrome) {
filesize = input.files[0].size;
} else if (Sys.ie) {
var fileobject = new ActiveXObject("Scripting.FileSystemObject");//获取上传文件的对象(ie11会弹框确认ActiveX的安全问题,确认即可;)
var file = fileobject.GetFile(input.value);//获取上传的文件
filesize = file.Size;//文件大小
}
console.log(filesize/(1024*1024),"文件大小");
//判断是否符合要求c
if (filesize / (1024*1024) < 2) {
flag = true;
} else {
alert("附件过大,建议不要超过2mb!");
flag = false;
}
return flag;
}
</script>
</body>
</html>
经测试,谷歌、火狐、ie11~ie8均可正常执行(ie会弹出)
360浏览器(极速模式)可正常执行