ssh文件下载与上传细节

来源:互联网 发布:华为移动数据不能上网 编辑:程序博客网 时间:2024/06/07 23:34
/** * 文件上传 * @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";}
xml配置文件
<!--上传成功  --><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>
前端代码
<%@ 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>

 
原创粉丝点击