lyyb2001

          只是為方便自己找記錄而已
          posts - 57, comments - 27, trackbacks - 0, articles - 5
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理

          jsp實現文件上傳

          Posted on 2007-03-29 17:22 skycity 閱讀(648) 評論(0)  編輯  收藏 所屬分類: 基本開發

          cos.jar + uploadbean.jar + filemover.jar
          index.jsp
          <%@ page contentType="text/html;charset=GBK" language="java" %>

          <html xmlns="<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">&nbsp;</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>&nbsp;</td>
          ??????? <td class="formline"><span class="green">
          ????????? <input name="examName" type="text" value="" maxlength="40">
          ????????? &nbsp;<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">&nbsp;</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
          主站蜘蛛池模板: 泰宁县| 屏南县| 临漳县| 湘潭市| 阳新县| 获嘉县| 仁怀市| 大渡口区| 金沙县| 金秀| 贵德县| 镇康县| 新蔡县| 平江县| 德保县| 汝阳县| 沁源县| 蓬安县| 卫辉市| 靖州| 康定县| 故城县| 钦州市| 江口县| 嵊泗县| 乃东县| 满城县| 敦化市| 陇南市| 柳林县| 宝应县| 鹤壁市| 蓬莱市| 浦北县| 琼海市| 舞钢市| 尉氏县| 平陆县| 靖江市| 澎湖县| 榆社县|