文档章节

Struts2多文件上传

dengkaix
 dengkaix
发布于 2016/06/20 11:15
字数 342
阅读 4
收藏 0
Struts2多文文件上传,这里使用的是数组,也可以使用list集合。
 1  import java.io.File;
 2  import java.io.IOException;
 3  import java.io.InputStream;
 4  import java.io.Serializable;
 5 
 6  import org.apache.commons.io.FileUtils;
 7  import org.apache.struts2.ServletActionContext;
 8 
 9  import com.opensymphony.xwork2.ActionContext;
10  import com.opensymphony.xwork2.ActionSupport;
11 
12  public  class FileUpload  extends ActionSupport {
13     
14      private File[] file;
15      private String[] fileFileName;
16      private String[] filetype;
17     
18      /**
19       * 批量上传文件方法
20       *  @return
21       *  @throws  IOException
22        */
23      public String upload() 
24              throws IOException {
25         String root=ServletActionContext.getServletContext().getRealPath("/upload");
26          if (file!= null && file.length>0) {
27              for ( int j = 0; j < file.length; j++) {
28                 File myfile= new File(root,fileFileName[j]);
29                 FileUtils.copyFile(file[j], myfile);
30             }
31              return "upload";
32         } else {
33              return "failupload";
34         }
35     }
36     
37     
38      public File[] getFile() {
39          return file;
40     }
41      public  void setFile(File[] file) {
42          this.file = file;
43     }
44      public String[] getFiletype() {
45          return filetype;
46     }
47      public  void setFiletype(String[] filetype) {
48          this.filetype = filetype;
49     }
50 
51      public String[] getFileFileName() {
52          return fileFileName;
53     }
54 
55      public  void setFileFileName(String[] fileFileName) {
56          this.fileFileName = fileFileName;
57     }
58     
59     
60 }
View Code

Struts.xml的配置

 

 1  < constant  name ="struts.serve.static.browserCache"  value ="true"   />
 2             <!--  指定允许上传的文件最大字节数。默认值是2097152(2M)  -->   
 3              < constant  name ="struts.multipart.maxSize"  value ="10701096" />   
 4              <!--  设置上传文件的临时文件夹,默认使用javax.servlet.context.tempdir  -->   
 5              < constant  name ="struts.multipart.saveDir "  value ="d:/tmp"   />
 6             
 7        < package  name ="fileaction"  namespace ="/"  extends ="struts-default" >    
 8            < action  name ="file_*"  class ="com.dkx.action.FileUpload"  method ="{1}" >
 9                < result  name ="upload" >/index.jsp </ result >
10                < result  name ="failupload" >/index.jsp </ result >
11               
12            </ action >
13  </ package >
View Code

Jsp页面:

1  < form  action ="${basePath }file_upload.action"  enctype ="multipart/form-data"  method ="post" >
2                < input  type ="file"  name ="file" >< br >
3              < input  type ="file"  name ="file" >< input  type ="submit"  value ="提交" >
4  </ form >
View Code

 

本文转载自:http://www.cnblogs.com/LTblackcat/p/4834924.html

dengkaix
粉丝 0
博文 5
码字总数 0
作品 0
南京
程序员
私信 提问
Struts2实现文件上传和下载

在做B/S系统时,通常会涉及到上传文件和下载文件,在没接struts2框架之前,我们都是使用apache下面的commons子项目的FileUpload组件来进行文件的上传,但是那样做的话,代码看起来比较繁琐,...

颖辉小居
2015/11/26
78
4
Fastupload 0.4.7 发布,支持 struts2

Fastupload 0.4.7这个版本中主要增加了支持struts2的文件上传功能的“插件”,修复了解析IE7,IE8下某些版本上传的请求数据中文件名问题(这里感谢lkclkc 网友报的bug及提供的解决思路)。 ...

仪山湖
2012/10/28
1K
1
struts2文件上传获取文件名、文件类型

开发公司项目时遇到这样一个问题,当前端上传一个文件到后台action类中,发现取出来的文件名、文件类型都变了。这是为什么呢?我们又该怎么获取文件名称和文件类型呢?于是找了大量的资料发现...

小黄狗
2018/09/28
54
0
Java程序员从笨鸟到菜鸟之(七十一)细谈struts2(十三)struts2实现文件上传和下载详解

文件上传和文件下载是我们在web应用程序中常用的两个功能,在java中,实现这两种功能的方式也有很多种,其中struts2就给我们提供了一种算是比较简单的方式吧,下面我们就一起来看一下,首先我...

长平狐
2012/11/12
544
1
3.6 Struts2上传文件

3.6.1上传单个文件 Struts2的文件上传默认使用的是Jakarta的Common-FileUpload文件上传框架。因此需要增加两个Jar包,即:common-io-1.4.jar和commons-fileupload-1.2.1.jar。 下面举例实现文...

JerryPan
2016/02/24
242
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
今天
3
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
7
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0
PHP+Ajax微信手机端九宫格抽奖实例

PHP+Ajax结合lottery.js制作的一款微信手机端九宫格抽奖实例,抽奖完成后有收货地址添加表单出现。支持可以设置中奖概率等。 奖品列表 <div class="lottery_list clearfix" id="lottery"> ......

ymkjs1990
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部