多文件上传,使用js对文件进行校验,包括文件单个大小,格式,总的文件大小,文件是否为空等
来源:互联网 发布:blast算法 编辑:程序博客网 时间:2024/05/19 18:15
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'upload.jsp' starting page</title>
<script type="text/javascript" src="js/jquery-2.1.1.js"></script>
<script type="text/javascript">
var num=0;
{
document.getElementById('attach').innerText = "继续添加附件";
tb = document.getElementById('attAchments');
newRow = tb.insertRow();
newRow.insertCell().innerHTML = "<input name='file' size='50' type='file' id=file"+num+"> <input type='button' value='删除' onclick='delFile(this.parentElement.parentElement.rowIndex)'> <label id=p"+num+"></label>";
totalSizeArray[num]=0;
num ++;
{
totalSizeArray[index]=0;
document.getElementById('attAchments').deleteRow(index);
tb.rows.length > 0?document.getElementById('attach').innerText = "继续添加附件":document.getElementById('attach').innerText = "添加附件";
}
$(document).ready(function(){
$("#btnSend").click(function(){
alert("当前没有可上传的文件");
return false;
}else{
for(var i=0;i<document.form1.elements.length-1;i++)
{
alert("当前表单不能有空项");
document.form1.elements[i].focus();
return false;
}
var totalSize=0;
for(x in totalSizeArray){
totalSize=totalSize+totalSizeArray[x];
}
if(totalSize>1024*10){
alert("文件总大小为:"+totalSize/1024+"MB,超过了10MB,请重新选择文件!");
return false;
}else{
$("#form1").submit();
}
}
});
});
$(document).ready(function () {
$("#attAchments").delegate("input[type='file']","change",function(){
var filepath = $(this).val();
var fileId=$(this).attr("id");
var countNum=fileId.substring(4,fileId.length);
var count="p"+countNum;
var extStart = filepath.lastIndexOf(".");
alert("不能上传后缀名为.txt、.rar、.zip类型的文件!");
var obj = document.getElementById(fileId) ;
obj.outerHTML=obj.outerHTML;
$("#"+count).text("");
return false;
} else { $("#"+count).text(filepath);}
var fileSize=0;
fileSize=this.files[0].size;
var size=fileSize/1024;
alert("单个文件大小不能超过2M,请重新选择文件!");
var obj = document.getElementById(fileId) ;
obj.outerHTML=obj.outerHTML;
$("#"+count).text("");
}else{
totalSizeArray[countNum]=size;
size=$("#"+count).text()+"\t\t\t\t"+size;
$("#"+count).text(size+"KB");
}
});
});
</script>
<body>
<form id="form1" name="form1" method="POST" enctype="multipart/form-data" action="uploadServlet">
<table id="attAchments">
</table>
</form>
<a id="attach" onclick="AddAttachments();" href="javascript:;" name="attach">添加附件</a>
<input type="button" id="btnSend" value=" 上传 "/>
</body>
</html>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'upload.jsp' starting page</title>
<script type="text/javascript" src="js/jquery-2.1.1.js"></script>
<script type="text/javascript">
var num=0;
var totalSizeArray={};
//添加附件
function AddAttachments(){
document.getElementById('attach').innerText = "继续添加附件";
tb = document.getElementById('attAchments');
newRow = tb.insertRow();
newRow.insertCell().innerHTML = "<input name='file' size='50' type='file' id=file"+num+"> <input type='button' value='删除' onclick='delFile(this.parentElement.parentElement.rowIndex)'> <label id=p"+num+"></label>";
totalSizeArray[num]=0;
num ++;
}
//删除附件类容
function delFile(index){
totalSizeArray[index]=0;
document.getElementById('attAchments').deleteRow(index);
tb.rows.length > 0?document.getElementById('attach').innerText = "继续添加附件":document.getElementById('attach').innerText = "添加附件";
}
$(document).ready(function(){
$("#btnSend").click(function(){
var fileLength=$("input[type='file']").length;
//判断是否有上传的文件
if(fileLength==0){alert("当前没有可上传的文件");
return false;
}else{
for(var i=0;i<document.form1.elements.length-1;i++)
{
//判断文控件间内容是否为空
if(document.form1.elements[i].value==""){
alert("当前表单不能有空项");
document.form1.elements[i].focus();
return false;
}
}
//判断文件总大小是否大于10M
var totalSize=0;
for(x in totalSizeArray){
totalSize=totalSize+totalSizeArray[x];
}
if(totalSize>1024*10){
alert("文件总大小为:"+totalSize/1024+"MB,超过了10MB,请重新选择文件!");
return false;
}else{
$("#form1").submit();
}
}
});
});
$(document).ready(function () {
$("#attAchments").delegate("input[type='file']","change",function(){
var filepath = $(this).val();
var fileId=$(this).attr("id");
var countNum=fileId.substring(4,fileId.length);
var count="p"+countNum;
var extStart = filepath.lastIndexOf(".");
var ext = filepath.substring(extStart, filepath.length).toUpperCase();
//判断文件类型
if (ext==".ZIP"||ext==".RAR" ||ext==".TXT") {alert("不能上传后缀名为.txt、.rar、.zip类型的文件!");
var obj = document.getElementById(fileId) ;
obj.outerHTML=obj.outerHTML;
$("#"+count).text("");
return false;
} else { $("#"+count).text(filepath);}
var fileSize=0;
fileSize=this.files[0].size;
var size=fileSize/1024;
size=Math.round(size);
//判断单个文件是否大于2M
if(size>1024*2){alert("单个文件大小不能超过2M,请重新选择文件!");
var obj = document.getElementById(fileId) ;
obj.outerHTML=obj.outerHTML;
$("#"+count).text("");
}else{
totalSizeArray[countNum]=size;
size=$("#"+count).text()+"\t\t\t\t"+size;
$("#"+count).text(size+"KB");
}
});
});
</script>
<body>
<form id="form1" name="form1" method="POST" enctype="multipart/form-data" action="uploadServlet">
<table id="attAchments">
</table>
</form>
<a id="attach" onclick="AddAttachments();" href="javascript:;" name="attach">添加附件</a>
<input type="button" id="btnSend" value=" 上传 "/>
</body>
</html>
1 0
- 多文件上传,使用js对文件进行校验,包括文件单个大小,格式,总的文件大小,文件是否为空等
- struts上传多文件,限制单个文件大小及总大小
- 判断上传文件 (是否为空、格式是否满足)
- js 上传单个文件(任意大小)
- js判读上传文件控件是否为空
- js校验上传文件的格式
- strus判断上传文件是否为空
- 文件上传,一次上传多个文件,判断文件是否为空
- 使用Struts2的文件上传机制,对上传文件大小进行限制
- ie、火狐中js文件上传文件大小及格式检验
- 校验文件是否为excel文件
- git 设置单个文件上传大小
- js兼容ie和chrome的文件上传大小校验
- AJAX上传文件,控制文件大小,格式
- JS 判断上传文件是否为EXCEL 文件
- 使用FileUpload控件上传文件时对文件大小
- 使用FileUpload控件上传文件时对文件大小的限制
- struts2 文件上传为空
- java WebSocket 简易聊天消息推送
- 【iOS开发】自定义UIView边框的颜色
- CentOS6.2下配置KeepLived + LVS
- 分治法
- [hihoCoder] #1305 : 区间求差 解题报告
- 多文件上传,使用js对文件进行校验,包括文件单个大小,格式,总的文件大小,文件是否为空等
- LeetCode:Multiply Strings
- vs2010调用ffmpeg的avcodec.lib崩溃的解决方案
- Sed命令的基本使用
- Java多线程中join方法的理解
- Chrome浏览器,搜索JS方法。
- Android小知识——关于Android内存、性能优化的一些细节
- vi查找行开头结尾
- B001-Atmega16-带电复位后不清0的.noinit变量