论坛首页 入门技术论坛

smartupload在struts中的实现

浏览 3173 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-19   最后修改:2008-11-19
jsp:
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>文件上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<p>&nbsp;</p>
<p align="center">上传文件选择</p>
<FORM METHOD="POST" ACTION="./test.do"
ENCTYPE="multipart/form-data">
<input type="hidden" name="TEST" value="good">
  <table width="75%" border="1" align="center">
    <tr>
      <td><div align="center">1、
          <input type="FILE" name="FILE1" size="30">
        </div></td>
    </tr>
    <tr>
      <td><div align="center">2、
          <input type="FILE" name="FILE2" size="30">
        </div></td>
    </tr>
    <tr>
      <td><div align="center">3、
          <input type="FILE" name="FILE3" size="30">
        </div></td>
    </tr>
    <tr>
      <td><div align="center">4、
          <input type="FILE" name="FILE4" size="30">
        </div></td>
    </tr>
    <tr>
      <td><div align="center">
          <input type="submit" name="Submit" value="上传它!">
        </div></td>
    </tr>
  </table>
</FORM>
<a href="./down.do">点击下载</a>
</body>
</html>


upload:
public class TestAction extends Action {
/*
* Generated Methods
*/

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
System.out.println("*******************************************");
SmartUpload mySmartUpload = new SmartUpload();
    try {
mySmartUpload.initialize(getServlet().getServletConfig(),request, response);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();

    try {
mySmartUpload.upload();
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
  

    Files files=mySmartUpload.getFiles();
    Collection col=files.getCollection();
    Iterator it=col.iterator();
    while(it.hasNext()){
      File file=(File)it.next();   
      if(file==null)
      continue;
      String oldFileName=file.getFileName();    
//       String extname=file.getFileExt();
      if(oldFileName==null||oldFileName.equals(""))
      continue;
      String fileName= oldFileName;//产生一个唯一的文件名
      try {
file.saveAs("d:\\"+fileName);
  } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
  } catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
  }
    }
    return null;
}
}

download:
public class DownAction extends Action {
/*
* Generated Methods
*/

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
SmartUpload su = new SmartUpload();
// 初始化
try {
su.initialize(getServlet().getServletConfig(),request, response);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。
su.setContentDisposition(null);
// 下载文件
try {
su.downloadFile("D:\\ExportCourseAttendanceBarcode.log");
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return null;
}
}
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics