=================================== 实现单个文件上传 ======================================

步骤1. 导入jar包: commons-fileupload-x.x.x.jar ; commons-io-x.x.x.jar

步骤2: JSP页面
<s:form action="fileup.action" method="post" enctype="multipart/form-data">
<s:file name="upload" lable="选择文件"></s:file><br/>
<s:submit name="submit" value="上传文件"></s:submit>
</s:form>

步骤3: Action页面

package org.zm.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class UpLoadAction extends ActionSupport{

private File upload;
private String uploadContentType; //文件类型
private String uploadFileName; //文件名称
private String savePath; //保存路劲
//省略getter; setter

public String getSavePath() {

return ServletActionContext.getServletContext().getRealPath(savePath);
}

public String execute() throws Exception{

byte[] buffer = new byte[1024];

//读取文件
FileInputStream fis = new FileInputStream(upload);
//保存文件,并保存文件的位置
FileOutputStream fos = new FileOutputStream(getSavePath() + "\\" + this.getUploadFileName());

int length = fis.read(buffer);
while(length > 0){
fos.write(buffer, 0 , length);
length = fis.read(buffer);
}

fis.close();
fos.flush();
fos.close();
return SUCCESS;

}
}

提示: File类型的 xxx 属性名称和JSP上传表单页面 <s:file>的文件名相同。
String类型的xxxFileName属性,该属性由前面File类型的属性名称和FileName组合而成。
String类型的xxxContentType属性同上。

String类型的savePath名称与步骤3中param的名称保存一致

步骤3: Action.xml文件

<!-- 文件上传 -->
<action name="fileup" class="org.zm.test.UpLoadAction">
<param name="savePath">/upload</param>
<result name="success">no.jsp</result>
</action>

===================================== 实现多个文件上传 ==============================

1. JSP页面
多个 <s:file>

2. Action页面
private File[] upload;
private String[] uploadContentType;
.....

public String execute() throws Exception(){
byte[] buffer = new byte[1024];

for(int i = 0; i < upload.length; i++){
......
}

return SUCCESS;
}

struts 文件上传的更多相关文章

  1. struts文件上传,获取文件名和文件类型

    struts文件上传,获取文件名和文件类型   Action中还有两个属 性:uploadFileName和uploadContentType,这两个属性分别用于封装上传文件的文件名.文件类型.这是S ...

  2. struts文件上传(多文件)

    第01步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...

  3. struts——文件上传

    上传文件在一个系统当中是一个很常用的功能,也是一个比较重要的功能.今天我们就一起来学习一下Struts2如何上传文件. 今天讲的上传文件的方式有三种: 1,以字节为单位传输文件: 2,Struts2封 ...

  4. struts文件上传、文件下载

    文件上传 如果在表单中上传文件,表单的enctype属性为multipart/form-data struts默认上传文件大小为2M,如果需要修改,在配置文件中设置 <constant name ...

  5. Struts文件上传allowedTypes问题,烦人的“允许上传的文件类型”

    Struts的文件上传问题,相信很多人都会使用allowedTypes参数来配置允许上传的文件类型,如下. <param name="allowedTypes"> im ...

  6. struts文件上传(单文件)

    第01步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...

  7. Struts文件上传机制

    1首先建立文件上传jsp页面如下 <form action="" method="post" enctype="multipart/form-d ...

  8. struts 文件上传下载

    上传 1.编写上传action类 UploadAction.java package jxf.b_upload; import java.io.File; import java.io.IOExcep ...

  9. struts文件上传拦截器中参数的配置(maximumSize,allowedTypes ,allowedExtensions)问题

    <interceptor-ref name="fileUpload"> <param name="allowedTypes">image ...

  10. Java Struts文件上传和下载详解

    Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...

随机推荐

  1. ORA-12560: TNS: 协议适配器错误 ORA-12154: TNS: 无法解析指定的连接标识符

    在国庆期间,数据库存储过程在通过dblink跨库调用存储过程时,错误日志中记录了ORA-12560: TNS: 协议适配器错误的异常日志. 偶尔用PL/SQL连接数据库时,又频繁提示:ORA-1215 ...

  2. 建设移动端web开发会涉及到的meta标签

    <meta name="format-detection" content="telephone=no"> <meta name=" ...

  3. Javascript初学篇章_3(注释/if/switch)

    五.javascript的注释 // 单行注释 /* …*/ 多行注释 注:多行注释不能互相嵌套 六.程序流程控制 一.条件语句 if 语法: if(condition) statements1 el ...

  4. FP error code老是忘记的看这里:只给出最常用的几个。

    把常见的几个记牢,不要在比赛时纠结. 错误2:输入文件未找到. 错误106:数据读入的格式错误,往往是读入语句出错. 错误200:被零除. 错误201:范围检查错误,数组越界. 错误202:栈溢出. ...

  5. POJ2965

    #include <stdio.h> char map[4][4]; int map1[4][4]; int map2[4][4]; int num[16]; int min=1000,n ...

  6. sqlserver 索引的一些总结【转】

    1.1.1 摘要 如果说要对数据库进行优化,我们主要可以通过以下五种方法,对数据库系统进行优化. 1. 计算机硬件调优 2. 应用程序调优 3. 数据库索引优化 4. SQL语句优化 5. 事务处理调 ...

  7. 《Linux及安全》实践3.3

    <Linux及安全>实践三 字符集总结与分析 [by lwr] 一.ISO.UCS/UTF.GB系列字符集分析 1.字符集&字符编码 字符集(Charset):是一个系统支持的所有 ...

  8. Linux服务器上监控网络带宽的18个常用命令

    [51CTO精选译文]本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以 ...

  9. 自动更新补丁Security Update for Internet Explorer 10 for Windows Server 2008 R2 x64 Edition (KB2964358)失败

    下载http://www.microsoft.com/zh-CN/download/details.aspx?id=42581手动安装成功.

  10. gitlab改用ssh操作

    1.配置ssh http://blog.csdn.net/xyzchenxiaolin/article/details/51853319http://blog.csdn.net/r8hzgemq/ar ...