Struts---多文件上传、单文件下载

struts.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
 4     "http://struts.apache.org/dtds/struts-2.0.dtd">
 5
 6 <struts>
 7     <constant name="struts.multipart.maxSize" value="3000000001000"></constant>
 8     <package name="a" extends="struts-default">
 9
10     <!-- 上传   多文件上传 -->
11         <action name="upload" class="com.zr.fileupload" method="upload">
12             <param name="allowedTypes">image/bmp,image.jpg</param>
13             <param name="allowedExtensions">.jpg</param>
14             <interceptor-ref name="fileUpload">
15             <param name="maximumSize">81111110111</param>
16             </interceptor-ref>
17              <interceptor-ref name="defaultStack"/>
18             <result name="OK">/upload.jsp</result>
19         </action>
20
21
22     <!-- 下载   单文件下载 -->
23         <action name="DownLoad" class="com.zr.DownLoad">
24         <result type="stream">
25             <param name="contentDisposition">attachment;filename=${fileName}</param>
26         </result>
27
28         </action>
29     </package>
30 </struts>

下载方法

 1 package com.zr;
 2
 3 import java.io.File;
 4 import java.io.FileInputStream;
 5 import java.io.InputStream;
 6 import java.io.UnsupportedEncodingException;
 7
 8 import com.opensymphony.xwork2.ActionSupport;
 9
10 public class DownLoad extends ActionSupport{
11
12     private String fileName;
13
14     public String getFileName() throws Exception{
15         fileName=new String(fileName.getBytes(), "ISO8859-1");
16         return fileName;
17     }
18
19     public void setFileName(String fileName) {
20         this.fileName = fileName;
21     }
22
23     public InputStream getInputStream()throws Exception{
24         File file=new File("C:/jdk-6u39-windows-i586.exe");
25         this.fileName="jdk-6u39-windows-i586.exe";
26         return new FileInputStream(file);
27     }
28
29 }

实体类

 1 package com.zr;
 2
 3 import java.io.File;
 4 import java.io.IOException;
 5 import org.apache.commons.io.FileUtils;
 6 import com.opensymphony.xwork2.ActionSupport;
 7 public class fileupload extends ActionSupport{
 8
 9     private File   [] upload;
10     private String [] uploadFileName;
11     private String [] uploadContentType;
12
13
14     public String upload() throws IOException{
15         for (int i = 0; i <upload.length; i++) {
16             String filepath="c:/"+uploadFileName[i];
17             File fp=new File(filepath);
18             FileUtils.copyFile(upload[i], fp);
19         }
20         return "OK";
21     }
22
23
24
25     public File[] getUpload() {
26         return upload;
27     }
28     public void setUpload(File[] upload) {
29         this.upload = upload;
30     }
31     public String[] getUploadFileName() {
32         return uploadFileName;
33     }
34     public void setUploadFileName(String[] uploadFileName) {
35         this.uploadFileName = uploadFileName;
36     }
37     public String[] getUploadContentType() {
38         return uploadContentType;
39     }
40     public void setUploadContentType(String[] uploadContentType) {
41         this.uploadContentType = uploadContentType;
42     }
43 }

index.jsp页面

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%@ taglib uri="/struts-tags" prefix="s" %>
 3 <%
 4 String path = request.getContextPath();
 5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 6 %>
 7
 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 9 <html>
10   <head>
11     <base href="<%=basePath%>">
12     <title>My JSP ‘index.jsp‘ starting page</title>
13     <meta http-equiv="pragma" content="no-cache">
14     <meta http-equiv="cache-control" content="no-cache">
15     <meta http-equiv="expires" content="0">
16     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
17     <meta http-equiv="description" content="This is my page">
18     <!--
19     <link rel="stylesheet" type="text/css" href="styles.css">
20     -->
21     <SCRIPT type="text/javascript" src="jquery-1.8.2.min.js"></SCRIPT>
22   </head>
23   <body>
24         <embed
25             name="honehoneclock"
26             width="320"
27             align="middle"
28             pluginspage="http://www.macromedia.com/go/getflashplayer"
29             src="http://chabudai.sakura.ne.jp/blogparts/honehoneclock/honehone_clock_wh.swf"
30             type="application/x-shockwave-flash"
31             allowscriptaccess="always"
32             bgcolor="#ffffff"
33             quality="high"
34             wmode="transparent"
35         >
36
37         <form action="upload"  method="post" enctype="multipart/form-data">
38              <input type="file" name="upload"><br/>
39              <input type="file" name="upload"><br/>
40              <input type="file" name="upload"><br/>
41              <input type="submit"  value="上传"> <br/>
42          </form>
43
44          <a href="DownLoad.action">下载</a>
45
46   </body>
47 48 </html>

struts配置注意事件

以上内容为个人笔记记录

可供他人参考

2017-08-1112:51:01

时间: 2024-11-05 10:41:16

Struts---多文件上传、单文件下载的相关文章

struts2中的文件上传,文件下载

文件上传: Servlet中的文件上传回顾 前台页面 1.提交方式post 2.表单类型 multipart/form-data 3.input type=file 表单输入项 后台 apache提交的FileUpload组件 核心类: FileItemFactory    FileItem的工厂 ServletFileUpLoad    servlet中文件上传的核心类 FileItem  封装了上传表单文件项的信息 在servlet中文件上传处理起来比较麻烦. struts框架对文件上传组件

struts 多文件上传 xml 版本

[本文简介] 本文将介绍 以配置 struts.xml  的方式 实现 多文件上传的功能. [文件夹结构] [struts.xml] 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://st

表单文件上传与文件下载

一.简介 使用form表单进行需要为form添加enctype="multipart/form-data" 属性,除此之外还需要将表单的提交方法改成post,如下 method="post". 二.示例 1.表单文件上传 网页代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 </head> 5 <body> 6 <form action="${pageC

struts2实现文件上传、多文件上传和文件下载

总结的两个问题,就是struts2上传下载的时候对属性名配置要求非常严格: 第一:上传的时候 private File file; private String fileContentType; private String fileFileName; 属性的红色部分必须有可以随意起,但不能省略. 第二:下载的时候属性名不能随意起. 实现文件上传:可以找到WEB-INF\lib\struts2-core-2.3.16.3.jar下的struts-default.xml里的拦截器标签下的name=

分享知识-快乐自己:Struts2文件上传及文件下载

1)Struts2单文件上传 action:类文件 package com.mlq.action; import com.opensymphony.xwork2.ActionSupport; import org.apache.commons.io.FileUtils; import org.apache.struts2.ServletActionContext; import java.io.File; import java.io.IOException; /** * Struts2:单文件

笔记02 文件上传、文件下载、类型转换器、国际化的支持

Struts2的上传 1. Struts2默认采用了apache commons-fileupload  2. Struts2支持三种类型的上传组件 3. 需要引入commons-fileupload相关依赖包 * commons-io-1.3.2.jar * commons-fileupload-1.2.1.jar 4. 表单中需要采用POST提交方式,编码类型需要使用:multipart/form-data 5. Struts2的Action     取得文件名称->>规则:输入域的名称+

Struts2 文件上传和文件下载

一.单个文件上传 文件上传需要两个jar包: 首先制作一个简单的页面,用于实现文件上传 <h1>单个文件上传</h1> <s:form action="upload.action" enctype="multipart/form-data" method="post" namespace="/"> <s:textfield name="title" lable=&q

Struts2文件上传和文件下载

一.单个文件上传 文件上传需要两个jar包: 首先制作一个简单的页面,用于实现文件上传 <h1>单个文件上传</h1> <s:form action="upload.action" enctype="multipart/form-data" method="post" namespace="/"> <s:textfield name="title" lable=&q

ASP.NET知识总结(5.文件上传 6.文件下载)

5.文件上传 ->说明:使用http协议只适合传输小文件,如果想传递大文件,则需要使用插件或者客户  端程序(使用ftp协议) ->客户端操作 <1>为表单添加属性:enctype="multipart/form-data" <2>在表单中添加控件:<input type="file" name="f1"/> <3>表单必须使用post提交方式 ->服务器端操作 <1>

ssm框架下的文件上传和文件下载

最近在做一个ssm的项目,遇到了添加附件和下载的功能,在网上查了很多资料,发现很多都不好用,经过摸索,发现了一套简便的方法,和大家分享一下.1.文件上传前台页面使用了easyui,代码如下: <table> <tr> <td>附件</td> <td> <input class="easyui-filebox" type="file" name="file1" id="fi