form表达提交文件,如果文本过大,就会报413 Request Entity Too Large(请求实体太大);所以要在页面就限制文本大小。
HTML :
<form id = "adressForm" method="post" enctype="multipart/form-data">
<li class="ovh">
<div class="updatas fl">
<p class="p01 ovh">
<span class="ups db rdu5" id="PositiveImg"><input id="upPositive" class="filePrew" type="file" size="3" name="cidFront" οnchange="fileChange(this)" /></span>
</p>
</div>
<div class="updatas fl">
<p class="p02 ovh">
<span class="ups db rdu5" id="NegativeImg"><input id="upNegative" class="filePrew" type="file" size="3" name="cidBack" οnchange="fileChange(this)" /></span>
</p>
</div>
</li>
</ul>
</form>
JS:
function fileChange(target) {
var fileSize = 0;
if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0) && !target.files) {//如果是ie
alert("is IE");
var filePath = target.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile (filePath);
fileSize = file.Size;
} else {
fileSize = target.files[0].size;
}
var size = fileSize / 1024;
if(size > 5000){
dialogMsg("附件不能大于5M");
target.value="";
return
}
var name=target.value;
var fileName = name.substring(name.lastIndexOf(".")+1).toLowerCase();
var imageArray = ["gif","jpg","jpeg","png","bmp"];
if(fileName == null || fileName == "" || imageArray.indexOf(fileName) < 0){
dialogMsg("格式不对");
target.value="";
return
}
}