ssh文件下载与上传细节

来源:互联网 发布:美国退出qe 知乎 编辑:程序博客网 时间:2024/06/11 02:46


 * 文件上传      * @return      */      private File schedule;      private String scheduleFileName;      private String scheduleContentType;      @InputConfig(resultName="uploadInput")      public String upload(){          //将文件保存到硬盘中  位置Tomact .....WEB-INF/upload/          String parentDir = ServletActionContext.getServletContext().getRealPath("WEB-INF/upload");          //生成一个时间子目录          String dir = MyStringUtils.TimeChildPath(parentDir);          //生成一个随机文件名          String fileName = MyStringUtils.getUUID()+"_"+scheduleFileName;          //文件上传          schedule.renameTo(new File(parentDir+File.separator+dir,scheduleFileName));          //信息更新          this.getModel().setUploadTime(new Date());          this.getModel().setUploadFilename(fileName);          this.getModel().setUploadPath(dir);          this.getClassesService().updateUpload(this.getModel());          return "upload";      }      /**      * 文件下载      * @return      */      private InputStream inputStream;      private String oldName;      public String download() throws Exception{          //1.获取用户信息          CrmClasses findClasses = this.getClassesService().findById(this.getModel().getClassId());                    //2.得到下载路径          String filePath =                   ServletActionContext.getServletContext().getRealPath("WEB-INF/upload");           oldName = findClasses.getUploadFilename().substring(findClasses.getUploadFilename().indexOf("_")+1);          //给字节输入流赋值          /*System.out.println(filePath);         System.out.println(findClasses.getUploadPath());         System.out.println(findClasses.getUploadFilename());*/          inputStream =                   new FileInputStream(filePath+File.separator                          +findClasses.getUploadPath()+File.separator                          +oldName);          System.out.println(oldName);          return "download";      }

</pre><pre code_snippet_id="2459654" snippet_file_name="blog_20170629_5_5881163" name="code" class="java"></pre><pre code_snippet_id="2459654" snippet_file_name="blog_20170629_5_5881163" name="code" class="java"></pre><span style="white-space:pre">  </span>xml配置文件<br>  <pre code_snippet_id="2459654" snippet_file_name="blog_20170629_6_6819255" name="code" class="html"><span style="white-space:pre">          </span><!--上传成功  -->              <result name="upload" type="redirectAction">classesAction_findAll</result>              <!--上传不成功  -->              <result name="uploadInput">/WEB-INF/pages/error.jsp</result>              <!--文件下载  -->              <result name="download" type="stream">                  <!-- 给stream类型注入参数,                  1。流的信息,                  2.告知浏览器下载的打开方式  attachment;filename=${} 固定格式                  必须配置该文件                   <constant name="struts.ognl.allowStaticMethodAccess" value="true"/>                  3.告知浏览器响应正文的MIME类型 -->                  <param name="inputName">inputStream</param>                  <param name="contentDisposition">                  attachment;filename=${@java.net.URLEncoder@encode(oldName,"UTF-8")}                  </param>                  <param name="contentType">application/octet-stream</param>              </result><span style="white-space:pre">   </span></pre><span style="white-space:pre"> </span>前端代码<br>  <pre code_snippet_id="2459654" snippet_file_name="blog_20170629_7_4517961" name="code" class="html"><%@ page language="java" contentType="text/html; charset=UTF-8"      pageEncoding="UTF-8"%>  <%@taglib uri="/struts-tags" prefix="s" %>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <link rel="stylesheet" href="${pageContext.request.contextPath}/css/sys.css" type="text/css"/>  <title>班级管理</title>  </head>    <body>  <!--距离页面顶端5px-->  <table border="0" cellspacing="0" cellpadding="0">    <tr>      <td class="topg"></td>    </tr>  </table>  <s:form name="createForm" namespace="/" action="">  <table border="0" cellspacing="0" cellpadding="0" class="wukuang">    <tr>      <td width="1%"><img src="${pageContext.request.contextPath}/images/tleft.gif"/></td>      <td width="20%" align="left">[班级管理]</td>      <td width="42%"align="center"> </td>      <td width="36%"align="right">          <%--添加班级  /html/classesm/addClass.jsp--%>          <s:a namespace="/" action="#">              <img src="${pageContext.request.contextPath}/images/button/tianjia.gif" class="img"/>          </s:a>          <%--高级查询           <a href="queryClass.html"><img src="${pageContext.request.contextPath}/images/button/gaojichaxun.gif" class="img"/></a>          --%>      </td>      <td width="1%"><img src="${pageContext.request.contextPath}/images/tright.gif"/></td>    </tr>  </table>  </s:form>  <table border="0" cellspacing="0" cellpadding="0">    <tr>      <td class="topg"></td>    </tr>  </table>  <table border="0" cellspacing="0" cellpadding="0">    <tr>      <td ><img src="${pageContext.request.contextPath}/images/result.gif"/></td>    </tr>  </table>    <table width="97%" border="1">  <thead>    <tr class="henglan" style="font-weight:bold;">      <th width="150px" align="center">班级名称</th>      <th width="200px" align="center">所属课程</th>      <th width="80px" align="center">开班时间</th>      <th width="80px" align="center">毕业时间</th>            <th width="80px" align="center">状态</th>      <th width="70px" align="center">学生总数</th>      <th width="70px" align="center">升学数</th>      <th width="70px" align="center">转班数</th>      <th width="50px" align="center">编辑</th>      <th width="50px" align="center">查看</th>      <th align="center">课表</th>    </tr>    </thead>    <tbody>    <s:iterator value="#pageBean.data" var="v">        <tr class="tabtd2">          <td align="center"><s:property value="#v.name"/> </td>          <td align="center"><s:property value="#v.courseType.courseName"/> </td>          <td align="center"><s:date name="beginTime" format="yyyy-MM-dd"/></td>          <td align="center"><s:date name="endTime" format="yyyy-MM-dd"/></td>          <td align="center"><s:property value="#v.status"/></td>          <td align="center"><s:property value="#v.totalCount"/> </td>          <td align="center"><s:property value="#v.upgradeCount"/> </td>          <td align="center"><s:property value="#v.changeCount"/> </td>          <td align="center">              <s:a namespace="/" action="classesAction_saveOruplaodUI">                  <s:param name="classId" value="#v.classId"/>                  <img src="${pageContext.request.contextPath}/images/button/modify.gif" class="img"/>              </s:a>          </td>          <td align="center">              <s:a namespace="/" action="classesAction_showClass">                  <s:param name="classId" value="#v.classId"/>                  <img src="${pageContext.request.contextPath}/images/button/modify.gif" class="img"/>              </s:a>                        </td>          <td align="center" title="上次上传时间:2015-04-02">               <s:a namespace="/" action="classesAction_uploadUI">                  <s:param name="classId" value="#v.classId"/>                  上传              </s:a>                 <s:a namespace="/" action="classesAction_download">                  <s:param name="classId" value="#v.classId"/>                  下载              </s:a>                         </td>        </tr>       </s:iterator>         </tbody>  </table>  <table border="0" cellspacing="0" cellpadding="0" align="center">    <tr>      <td align="center">          <span>第<s:property value="#pageBean.pageNum"/>/<s:property value="#pageBean.totalPage"/>页</span>          <span>              <s:if test="#pageBean.pageNum >1">              <s:a action="classesAction_showPage" namespace="/">                  <s:param name="pageNum" value="1"/>                  [首页]              </s:a>                              <s:a action="classesAction_showPage" namespace="/">                  <s:param name="pageNum" value="#pageBean.pageNum-1"/>                  [上一页]              </s:a>                </s:if>              <s:if test="#pageBean.pageNum<#pageBean.totalPage">              <s:iterator begin="#pageBean.start" end="#pageBean.end" var="n">                  <s:a action="classesAction_showPage" namespace="/">                      <s:param name="pageNum" value="#n"/>                      [<s:property value="#n"/>]                  </s:a>                </s:iterator>              <s:a action="classesAction_showPage" namespace="/">                  <s:param name="pageNum" value="#pageBean.pageNum+1"/>                  [下一页]              </s:a>                <s:a action="classesAction_showPage" namespace="/">                  <s:param name="pageNum" value="#pageBean.totalPage"/>                  [尾页]              </s:a>              </s:if>          </span>      </td>    </tr>  </table>          </body>  </html>  </pre><br>  <pre></pre>  <pre></pre>       </pre>