<%@ page contentType="text/html; charset=gb2312" language="java" 
import="java.util.*,com.jspsmart.upload.*" errorPage="" %>
<%@ page import="xn.com.opendata.common.PropertyManager"%>
<%
	String inputName = null ;
	try{
		inputName = String.valueOf(request.getParameter("inputName")) ;
	}catch(Exception e){
	}
%>
<html>
<head>
<title>文件上传处理页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body topmargin=0 leftmargin=0 bgcolor="#F7F7F7">
<%
if(inputName.compareTo("upload")==0){
	String act = null ;
	try{
		act = String.valueOf(request.getParameter("act")) ;
	}catch(Exception e){
	}
	// 新建一个SmartUpload对象
	try{
		SmartUpload xunuo = new SmartUpload();
		// 上传初始化
		xunuo.initialize(pageContext);
		// 设定上传限制
		// 1.限制每个上传文件的最大长度。
		xunuo.setMaxFileSize(204800);
		// 2.限制总上传数据的长度。
		// xunuo.setTotalMaxFileSize(20000);
		// 3.设定允许上传的文件（通过扩展名限制）,仅允许doc,txt文件。
		 xunuo.setAllowedFilesList(",gif,jpg");
		// 4.设定禁止上传的文件（通过扩展名限制）,禁止上传带有exe,bat,
	//	jsp,htm,html扩展名的文件和没有扩展名的文件。
		 xunuo.setDeniedFilesList(",exe,bat,jsp,htm,html");
		// 上传文件
		xunuo.upload();
	// 将上传文件全部保存到指定目录
		String downPath = PropertyManager.getProperty("UpFile.Face") ;
		com.jspsmart.upload.File file = xunuo.getFiles().getFile(0);
		if (!file.isMissing()){
      String fileName=file.getFileName();
	   //saveName=fileName;//需要radom
	   //取得文件扩展名
	   String kzName=null;
	   int i=fileName.lastIndexOf(".");
	   if(i>0)  kzName=fileName.substring(i);
	   else  kzName=fileName;
 	   String idpic = String.valueOf( new java.util.Date().getTime());
	   String saveName=idpic+kzName;
	   
       //myFile.saveAs(savePath+"\\"+saveName);//save as
	   file.saveAs(application.getRealPath(downPath)+"\\"+saveName);

	// 利用Request对象获取参数之值
//	out.println("TEST="+xunuo.getRequest().getParameter("TEST")+"<BR><BR>");
	// 逐一提取上传文件信息，同时可保存文件。
		// 若文件不存在则继续
		out.println("<Script language='javascript'>") ;
		out.println("parent.document.all."+act+".value='"+saveName+"'") ;
		out.println("</script>") ;
		out.println("上传成功！");
		// 显示当前文件信息
//		out.println("<TABLE BORDER=1>");
//		out.println("<TR><TD>表单项名（FieldName）</TD><TD>"
//		+ file.getFieldName() + "</TD></TR>");
//		out.println("<TR><TD>文件长度（Size）</TD><TD>" + 
//		file.getSize() + "</TD></TR>");
//		out.println("<TR><TD>文件名（FileName）</TD><TD>" 
//		+ file.getFileName() + "</TD></TR>");
//		out.println("<TR><TD>文件扩展名（FileExt）</TD><TD>" 
//		+ file.getFileExt() + "</TD></TR>");
//		out.println("<TR><TD>文件全名（FilePathName）</TD><TD>"
//		+ file.getFilePathName() + "</TD></TR>");
//		out.println("</TABLE><BR>");

		// 将文件另存
		// file.saveAs("/upload/" + myFile.getFileName());
		// 另存到以WEB应用程序的根目录为文件根目录的目录下
		// file.saveAs("/upload/" + myFile.getFileName(),xunuo.SAVE_VIRTUAL);
		// 另存到操作系统的根目录为文件根目录的目录下
		// file.saveAs("c:\\temp\\" + myFile.getFileName(),xunuo.SAVE_PHYSICAL);
		}else{
		out.println("<script language=javascript>");
		out.println("alert(\"您还没有选择文件\");");
		out.println("history.go(-1);");
		out.println("</script>");
		}  // end if (!file.isMissing())
	}catch(Exception e1){
		e1.printStackTrace();
		out.println("<script language=javascript>");
		out.println("alert(\"您上传的文件过大。\");");
		out.println("history.go(-1);");
		out.println("</script>");
	}
}else{
%>
<form method="POST" action="faceup.jsp?act=<%=inputName%>&inputName=upload" enctype="multipart/form-data" onxunuobmit="return checkForm();" name="form"><input type="file" class="input" name="<%=inputName%>"><input type="submit" value="确定">
</form>
<%
}
%>
</body>
</html>
<script language=javascript>
function checkForm(){
	if (form.file1.value==""){alert("选择要上传的文件");return false}
}
</script>