ssh文件下载与上传细节


 * 文件上传 
     * @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>  




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值