1.首先我们必须先引入jspsmartupload这个包
2.以下是form表单 upload.jsp:
<!---->
......................................................
enctype="multipart/form-data" onSubmit="return check_upload(this)">
注意:上面enctype="multipart/form-data" 和 type="file"
上传文件要调用javascript代码验证 当多次单击上传按钮时候会有提示 :
<script type="text/javascript">
function check_upload(theform)
{
//document.write("check_upload");
if(theform.photo.value.length>0){
if(theform.photo.value.indexOf("/") == -1&&theform.photo.value.indexOf("\\") == -1)
{
alert("请确定上传文件的正确性!!!")
clckcnt--;
theform.photo.focus()
return false
}
}
else{
alert("您没有选择需要导入的文件!!!");
theform.photo.focus();
clckcnt--;
return false
}
return true
}
var clckcnt=0;
function clckcntr()
{
clckcnt++;
if(clckcnt > 1)
{
if(clckcnt > 2)
{
return false;
}
alert('文件已经导入......\n\n' + '请等待片刻......\n\n' + '不要重复按提交键,谢谢!');
return false;
}
return true;
}
</script>
3.upload_imp.jsp接受上传的的文件 jspsmartupload这个包初始化
<%
request.setCharacterEncoding("GBK");
SmartUpload smartupload=new SmartUpload();
//在jsp中初始化用pageContext而在servlet中用3个参数的 (this.getServletConfig(),request,response)
smartupload.initialize(pageContext);
try{
smartupload.setMaxFileSize(10*1024*1024);
smartupload.setAllowedFilesList("xls");//允许多个类型smartupload.setAllowedFilesList("xls,jpg,doc");
smartupload.upload();
//若form表单中还有其他表单属性
/*
String username=smartupload.getRequest().getParameter("username");
String password=smartupload.getRequest().getParameter("password");
....................
......................
*/
}catch(Exception ex)
{
%>
<SCRIPT language=javascript>alert("文件类型或上传文件大小错误!\n\n只允许上传这几种文件类型:xls(EXCEL文件)\n文件最大不能超过10M\n请查证后再上传");
window.history.back();
</script>
<%
return;
}
//获得上传文件个数
int filecount=smartupload.getFiles().getCount();
for(int i=0;i<filecount;i++)
{
//获取上传的文件
File myFile=smartupload.getFiles().getFile(i);
//判断是否选择了文件选择时返回false,没有选择返回true
if(!myFile.isMissing())
{
try
{
//上传文件名
String myFileName=myFile.getFileName();
//取得不带后缀的文件名
String frontName=myFileName.substring(0,myFileName.lastIndexOf("."));
//取得后缀名
String endName=myFile.getFileExt();
//取得文件大小
int size=myFile.getSize();
//获得上传时间的
Calendar calendar =Calendar.getInstance();
String fileName=tools.Times.getId();
//新名字
String fileName2=fileName+".xls";
//getRealPath(".")得到项目的全路径
String aa=request.getRealPath(".")+"/upload/";
String trace=aa+fileName2;
String xlsfile = trace;
//String xlsfile = trace;
//myFile.saveAs(trace);
//out.print(trace);
myFile.saveAs(trace,smartupload.SAVE_PHYSICAL);
}
catch(Exception e)
{
e.printStackTrace();
}
%>
以上就上传到服务器的upload文件夹了