fushengfei 发表于 2013-1-15 02:20:00

struts2实现文件上传和下载

一、文件上传
         1、客户端表单 
                
<s:form action="upload" theme="simple" enctype="multipart/form-data">    <table align="center" border="1" width="50%">          <tr>                  <td>         <s:file name="file" label="file1" id="fileid"></s:file>    </td>          </tr>          <tr>      <td>            <s:submit value="submit"></s:submit>       </td>         </tr>   </table></s:form> 2 、struts.xml配置
     
<action name="upload" class="com.test.action.UploadAction">   <result name="success">/uploadResult.jsp</result>   <result name="input">/upload.jsp</result>   <interceptor-ref name="fileUpload">         <param name="maximumSize">409600</param>         <param name="allowedTypes">text/plain</param>   </interceptor-ref>   <interceptor-ref name="defaultStack"></interceptor-ref></action> 
3、action类
     
for (int i = 0; i < file.size(); i++) {   InputStream is = new FileInputStream(file.get(i));    String root = ServletActionContext.getRequest().getRealPath("/upload");   File destFile = new File(root, this.getFileFileName().get(i));   OutputStream os = new FileOutputStream(destFile);   byte[] buffer = new byte;    int length = 0;    while ((length = is.read(buffer)) > 0) {os.write(buffer, 0, length);}      is.close();      os.close();} 二、文件下载
        1、客户端表单
                
<s:a href="/MyStructs2/download.action">download</s:a>      2、struts.xml配置
             
<action name="download" class="com.test.action.DownloadAction">          <result name="success" type="stream">               <param name="contentType">text/plain</param>               <param name="inputName">downloadFile</param>               <param name="contentDisposition">attachment;filename="linux.txt"</param>               <param name="bufferSize">1024</param>                  </result>      </action>     3、action类实现getDownloadFile方法
       
public InputStream getDownloadFile(){return ServletActionContext.getServletContext().getResourceAsStream("/upload/linux3.txt");} 三、测试一下吧!
       
页: [1]
查看完整版本: struts2实现文件上传和下载