Posted on 2007-03-29 17:22
skycity 阅读(640)
评论(0) 编辑 收藏 所属分类:
基本开发
cos.jar + uploadbean.jar + filemover.jar
index.jsp
<%@ page contentType="text/html;charset=GBK" language="java" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>教育互动-升学考试</title>
<link href="css/default.css" rel="stylesheet" type="text/css">
</head>
<body >
<form name="frm" method="post" action="upload.jsp" ENCTYPE="multipart/form-data">
<table width="665" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="27" class="green"> </td>
<td height="27" class="green">上传试题:</td>
</tr>
</table>
<table width="99%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="132" ><img src="../image/form_cor1.gif" width="132" height="9"></td>
<td ><img src="../image/form_top.gif" width="20" height="9"></td>
<td width="20"><img src="../image/form_cor3.gif" width="20" height="9"></td>
</tr>
<tr>
<td colspan="2" align="left" valign="top"><table width="95%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="27" align="right">考试名称:</td>
<td> </td>
<td class="formline"><span class="green">
<input name="examName" type="text" value="" maxlength="40">
<span class="red">*</span></span></td>
</tr>
<tr>
<td height="27" align="right">简介:</td>
<td></td>
<td height="60" class="formline"><span class="green">
<textarea name="introduce" cols="50" rows="3"></textarea>
<span class="red">*</span></span></td>
</tr>
<tr>
<td height="27" align="right">附件:</td>
<td></td>
<td ><span class="green">
<input name="uploadfile" type="file">
</span></td>
</tr>
</table></td>
</tr>
<tr >
<td width="132" background="../image/form_bmbg.gif"><img src="../image/form_cor2.gif" width="132" height="9"></td>
<td background="../image/form_bmbg.gif"><img src="../image/form_bmbg.gif" width="20" height="9"></td>
<td><img src="../image/form_cor4.gif" width="20" height="9"></td>
</tr>
</table>
<table width="665" height="40" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="140"> </td>
<td><span class="green">
<input type="submit" name="submit" value="上传文件" onclick="return uploadExcel()" >
<input type="reset" name="reset" value="取 消">
</span></td>
</tr>
</table>
</form>
</body>
</html>
<script language="javascript">
function uploadExcel(){
var upload=document.frm.uploadfile.value;
var ext=upload.substring(upload.lastIndexOf(".")+1,upload.length);
if(document.frm.examName.value==""){
alert("考试名称为空或为空字符");
document.frm.examName.focus();
document.frm.examName.select();
return false;
}
if(document.frm.introduce.value.replace(/\s/ig,'').length==0){
alert("考试简介为空或为空字符");
document.frm.introduce.focus();
document.frm.introduce.select();
return false;
}
if(document.frm.introduce.value.replace(/\s/ig,'').length > 200 || document.frm.introduce.value.replace(/\s/ig,'').length < 1){
alert("考试简介在[1-200]之间");
document.frm.introduce.focus();
document.frm.introduce.select();
return false;
}
if(upload==""){
alert("请上传在线测试题目");
document.frm.uploadfile.select();
return false;
}
if(ext!="xls"){
alert("你上传的文件不是excel文件");
document.frm.uploadfile.select();
return false;
}else{
if(confirm("确定提交在线测试吗?")){
document.frm.submit();
}
}
}
</script>
upload.jsp实现如下:
<%@ page contentType="text/html;charset=GBK" %>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="javazoom.upload.*"%>
<%@ page import="uploadutilities.FileMover"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%
request.setCharacterEncoding("GBK");//设置编码格式,就不用一个个转码了。
FileMover fileMover = new FileMover();//你也可以使用自带的实例中jsp:useBean的形式。
UploadBean upBean = new UploadBean();
MultipartFormDataRequest mrequest = null;
Hashtable files = null;
if(MultipartFormDataRequest.isMultipartFormData(request)){
try{
mrequest = new MultipartFormDataRequest(request,null,10*1024*1024,MultipartFormDataRequest.COSPARSER,"GBK");//注意这里也要设置编码参数
files = mrequest.getFiles();
}catch(IOException e){
%>
<script language="javascript">
alert("请上传小于10M的文件");
history.back(-1);
</script>
<%
}
}
String sServerFileName=""; //服务器文件名
String sLocalFileName = ""; //本地文件名
if(files!=null && !files.isEmpty()){
UploadFile file=null;
String examName=mrequest.getParameter("examName");
String introduce=mrequest.getParameter("introduce");
OnlineTestServiceImpl epsi=new OnlineTestServiceImpl();
file = (UploadFile) files.get("uploadfile");
sLocalFileName=file.getFileName();
int ii= sLocalFileName.indexOf("."); //取文件名的后缀
String sExt = sLocalFileName.substring(ii,sLocalFileName.length());
//得到不重复的文件名
java.util.Date dt = new java.util.Date(System.currentTimeMillis());
SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMddHHmmssSSS");
sServerFileName= fmt.format(dt);
sServerFileName =sServerFileName + sExt;
ExcelReader readExcel = new ExcelReader();
File dir =new File("D:\\test1");
if (!dir.exists()){
dir.mkdirs();
}
upBean.setFolderstore("D:\\test1");//设置要上传的目录
upBean.addUploadListener(fileMover);//增加filMover监听
fileMover.setNewfilename(sServerFileName);//设置服务器上的文件名
upBean.store(mrequest, "uploadfile");//上传
}
}
%>
Lyyb2001