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
          主站蜘蛛池模板: 化德县| 蓬安县| 和平区| 沾益县| 登封市| 长宁区| 合川市| 磴口县| 遂宁市| 玛曲县| 松溪县| 仙桃市| 海南省| 鹤岗市| 余干县| 广东省| 江源县| 滦南县| 深水埗区| 邢台市| 锡林浩特市| 祥云县| 阳信县| 平原县| 五家渠市| 白银市| 沂源县| 辛集市| 德钦县| 亳州市| 赤水市| 广昌县| 拉萨市| 辛集市| 邵武市| 开平市| 泸州市| 台中县| 苗栗县| 海城市| 涞源县|