首页 > 代码库 > 暑假项目总结(四)--struts
暑假项目总结(四)--struts
Struts上传和下载
一、文件单个上传fileupload.jar
1.upload.jsp,注意enctype="multipart/form-data",type="file"
1 <form action="upload.action" method="post" enctype="multipart/form-data">2 上传文件:3 <input type="file" name="file" />4 <input type="submit" value="上传" />5 </form>
2.UploadAction
public class UploadAction { private File file; private String fileFileName;// 前台界面 name名 + FileName ,才能获取文件名 public String getFileFileName() { return fileFileName; } public void setFileFileName(String fileFileName) { this.fileFileName = fileFileName; } public File getFile() { return file; } public void setFile(File file) { this.file = file; } public String execute() throws Exception{ InputStream is = new FileInputStream(file); String uploadPath = ServletActionContext.getServletContext().getRealPath("/upload"); File toFile = new File(uploadPath, this.getFileFileName()); OutputStream os = new FileOutputStream(toFile); byte[] buffer = new byte[1024*5]; int length = 0; while ((length = is.read(buffer)) > 0) { os.write(buffer, 0, length); } is.close(); os.close(); return "success"; }}
二、多文件批量上传、使用swfupload
1.IType上有一篇博客,讲解的很好,链接如下:
http://hanxin0311.iteye.com/blog/1915611
三、文件的下载
Struts2提供了stream结果类型,该结果类型专门用于支持文件下载的功能。当指定stream结果类型时,需要配置一个inputName参数,该参数指定了一个输入流,这个输入流是被下载文件的入口(即通过该入口才能实现文件以流的方式实现下载)。
实现文件下载的Action
public class DownloadSongAction { //获取下载文件名 public String getDownloadFileName() { return downloadFileName; } //实现下载的Action类应该提供一个返回InputStream实例的方法 public InputStream getInputStream() throws UnsupportedEncodingException{ } //处理用户请求 public String execute(){ } }
对应的struts.xml
<action name="downloadsong" class="cn.edu.cqu.cqzy.action.DownloadSongAction"> <result name="success" type="stream"> <param name="contentType">application/octet-stream;charset=UTF-8</param> <param name="contentDisposition">attachment;filename="${downloadFileName}"</param> <param name="inputName">inputStream</param> <param name="bufferSize">4096</param> </result> <result name="fail">/jsp/login.jsp</result> <result name="authorityfail">/jsp/yxk.jsp</result> </action>
暑假项目总结(四)--struts
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。