不知道大家有没有遇见过关于html上传的问题【欢迎大家指正讨论】
web吧
全部回复
仅看楼主
level 3
鲸繁垒07 楼主
做了几个兼容,欢迎大家指正讨论~~
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>我要编程-浏览器兼容io文件限制(http://www.51program.com)</title>
</head>
<body>
<img src="about:blank" id="fileChecker" name="fileChecker" alt="test" style="display:none;" height="18" />
<input type="file" onchange="onUploadImgChange(this)" value="浏 览">
<script type="text/javascript">
function onUploadImgChange(fileInput) {
var img_size = 2 * 1024 * 1024;//2兆
var filePath = fileInput.value;
var fileExt = filePath.substring(filePath.lastIndexOf(".")).toLowerCase();
if(!checkFileExt(fileExt))
{
alert("您上传的文件不是图片,请重新上传!");
return;
}
//火狐
if(fileInput.files && fileInput.files[0]) {
if(fileInput.files[0].size > img_size) {
alert('您上传的图片超过大小,请重新上传');
return;
}
} else {
var agent = window.navigator.userAgent;
var isIE7 = agent.indexOf('MSIE 7.0') != -1;
var isIE8 = agent.indexOf('MSIE 8.0') != -1;
//IE7和IE8获得文件路径
if(isIE7 || isIE8) {
fileInput.select();
var url = document.selection.createRange().text;
try {
var fso = new ActiveXObject("Scripting.FileSystemObject");
} catch(e) {
alert('如果你用的是ie 请将安全级别调低!');
}
var ie_size = fso.GetFile(url).size;
if(ie_size > img_size) {
alert('您上传的图片超过大小,请重新上传');
return;
}else{
alert('通过! 当前文件大小为:'+ie_size)
}
} else {
//ie6
var oFileChecker = document.getElementById("fileChecker");
oFileChecker.src = filePath;
oFileChecker.onreadystatechange = function() {
if(oFileChecker.readyState == "complete") {
//alert(oFileChecker.fileSize)
if(oFileChecker.fileSize > img_size) {
alert("您上传的图片超过大小,请重新上传");
} else {
//alert("ok");
}
}
}
}
}
}
function checkFileExt(ext)
{
if(!ext.match(/.jpg|.jpeg|.gif|.png|.bmp/i)) {
return false;
}
return true;
}
</script>
</body>
</html>
2018年08月22日 03点08分 1
level 3
鲸繁垒07 楼主
内容来源:我要编程
2018年08月24日 07点08分 4
level 3
鲸繁垒07 楼主
我顶
2018年08月27日 07点08分 5
1