上传文件的文件类型及大小的判断
2016-01-23 10:14
369 查看
<script type="text/javascript">function fileChange(obj) {
//检测上传文件的类型
var imgName = obj.value;
if (imgName == '') {
document.all.submit_upload.disabled = true;
alert("请选择需要上传的文件!");
return;
} else {
/*/\.(gif|jpg|jpeg|bmp)$/*/
var reg = /(?:jpg|gif|png|jpeg)$/;
if (!reg.test(obj.value)) {
document.all.submit_upload.disabled = true;
alert("只能上传.jpg .png .jpeg .gif类型的文件!");
} else {
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
var fileSize = 0;
if (isIE && !obj.files) {
var filePath = obj.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile(filePath);
fileSize = file.Size;
} else {
fileSize = obj.files[0].size;
}
var size = fileSize / 1024 * 1024;
if (size > (1024 * 100)) { //size单位为B
document.all.submit_upload.disabled = true;
alert("文件大小不能超过100KB");
} else {
document.all.submit_upload.disabled = false; //可以上传
/*// var img = null;
var image = new Image();
// img.style.visibility = "hidden";
image.src = obj.value;
document.body.appendChild(image);
image.onload = function(){
console.log(image.offsetWidth);
image.style.display = 'none';*/
}
}
}
}
}
</script>
</head>
<body>
<input type="file" id="up_file" name="up_file" onchange="fileChange(this)" />
<input id="submit_upload" type="submit" class="load-btn" value="上传" disabled />
//检测上传文件的类型
var imgName = obj.value;
if (imgName == '') {
document.all.submit_upload.disabled = true;
alert("请选择需要上传的文件!");
return;
} else {
/*/\.(gif|jpg|jpeg|bmp)$/*/
var reg = /(?:jpg|gif|png|jpeg)$/;
if (!reg.test(obj.value)) {
document.all.submit_upload.disabled = true;
alert("只能上传.jpg .png .jpeg .gif类型的文件!");
} else {
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
var fileSize = 0;
if (isIE && !obj.files) {
var filePath = obj.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile(filePath);
fileSize = file.Size;
} else {
fileSize = obj.files[0].size;
}
var size = fileSize / 1024 * 1024;
if (size > (1024 * 100)) { //size单位为B
document.all.submit_upload.disabled = true;
alert("文件大小不能超过100KB");
} else {
document.all.submit_upload.disabled = false; //可以上传
/*// var img = null;
var image = new Image();
// img.style.visibility = "hidden";
image.src = obj.value;
document.body.appendChild(image);
image.onload = function(){
console.log(image.offsetWidth);
image.style.display = 'none';*/
}
}
}
}
}
</script>
</head>
<body>
<input type="file" id="up_file" name="up_file" onchange="fileChange(this)" />
<input id="submit_upload" type="submit" class="load-btn" value="上传" disabled />
相关文章推荐
- Android Audio System 架构初探:库层(一)
- Linux时间子系统之三:时间的维护者:timekeeper
- 螺旋矩阵 题解
- 【算法】M-02八种基本排序
- 自己选择的路,跪着也要把它走完
- 谨慎使用Java8的默认方法
- 数组指针数组的定义及使用(about array of pointer of array)
- GetBuffer 认识
- Linux时间子系统之四:定时器的引擎:clock_event_device
- hash function/ hash table 背后的数学基础
- pair的一些用法
- Linux时间子系统之五:低分辨率定时器的原理和实现
- 复杂类继承体系结构下,实际的类定义
- 设计模式
- 放苹果题解
- mysql游标循环的使用
- OC中创建对象,存入数组,并且遍历对象
- Derived class重新定义继承而来的Private Virtual函数
- LeetCode 119 Pascal's Triangle II(帕斯卡三角形II)(vector、数学公式)(*)
- Linux时间子系统之六:高精度定时器(HRTIMER)的原理和实现