JS获取上传文件的名称、格式、大小
<input id="File1" type="file" onchange="checkFile(this)" />
方式一)
function checkFile(o) { var fileobj = o.files[0]; if ( typeof(fileobj) == "undefined"){ alert("请选择要上传的文件。"); return false; } else { var fileType = fileobj.type; var fileName = fileobj.name; var fileSize = fileobj.size / 1024 / 1024; var maxSize = 2048;
var allowType = /^(image\/jpeg|image\/png)$/i; // 检查图片格式
if (!allowType.test(fileType)) {
alert("文件格式必须为jpeg或png");
return false;
}
if (fileobj.name.indexOf("'") > -1) { alert("名称不能包含以下字符:\\ / : * ? \' \" < > |"); return false; } else if (fileSize > maxSize) { alert("请选择" + maxSize + "MB以内的文件上传。您当前文件大小为:" + fileSize.toFixed(2) + "MB"); return false; } else { $("#xxx").html("<img src='/img/Processing.gif' />");//显示loading图片 return true; } } }
方式二)
JS:
function checkFile(fileObj) { var max = 4; var fso = new ActiveXObject("Scripting.FileSystemObject"); if(fso.GetFile(fileObj.value).size> max*1024*1024) { alert("附件不能超过" + max + "MB,请重新上传"); fileObj.outerHTML = fileObj.outerHTML; fileObj.value = ""; } var type = ".doc.wps.pdf"; if(type.indexOf(fileObj.value.substr(fileObj.value.lastIndexOf(".")).toLowerCase())==-1) { alert("文件格式必须为:" + type); fileObj.outerHTML = fileObj.outerHTML; fileObj.value = ""; } }
如果使用JQuery,请将
fileObj.outerHTML = fileObj.outerHTML;
fileObj.value = "";
如果onchange在JS内加载,需要重新赋新的事件,修改为:
var newObj = fileObj.clone();
newObj.change(function () { checkFile($("#"+newObj.attr("id"))) });
newObj.val("");
fileObj.after(newObj);
fileObj.remove();
如果onchange在HTML标签内写明,则修改为:
fileObj.after(fileObj.clone().val(""));
fileObj.remove();
兼容各种浏览器哦~