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>
阅读全文
1 0
- ssh文件下载与上传细节
- ssh文件下载与上传细节
- JAVA SSH ----Struts上传与下载文件
- 利用SSH 上传/下载文件
- SSH框架文件上传+下载
- 上传文件的处理细节、文件下载
- 文件的上传和下载 细节
- 文件上传与下载----上传
- 文件上传与下载
- 文件上传与下载
- 上传与下载文件
- 文件上传与下载
- 文件上传与下载
- 文件上传与下载
- 文件上传与下载
- 文件上传与下载
- 文件上传与下载
- 文件上传与下载
- IAR开发STM8,如何加入每次编译的日期时间信息来做为版本信息
- SpringMVC学习之json数据交互
- kudu踩坑记之一
- webrtc中关于AEC,AGC,NS模块的使用总结
- Leetcode+牛客网—回文串总结(一)
- ssh文件下载与上传细节
- 【设计模式】——单例
- 为什么memset不能将数组元素初始化为1?(急)
- CentOS yum升级GCC到4.8
- MPP 架构数据库
- centos下IntelliJ IDEA运行java项目
- 宿主对象
- Json字符串与Json对象的区别
- Ubuntu常用命令