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

步骤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. IPV6入门篇

    引言 由于互联网的快速发展与普及,原有的IPV4地址已不能满足网络用户的需求,虽然NAT可以缓解IPV4地址的耗尽,但NAT破坏了网络环境的开放.透明以及端到端的特性,因此IPV6地址协议应运而生.I ...

  2. 真刀真枪压测:基于TCPCopy的仿真压测方案

    郑昀 基于刘勤红和石雍志的实践报告 创建于2015/8/13 最后更新于2015/8/19 关键词:压测.TCPCopy.仿真测试.实时拷贝流量 本文档适用人员:技术人员 提纲: 为什么要做仿真测试 ...

  3. JS正则表达式将url转成json格式

    var url = location.search.substr(1); param = {}; console.log(url); url.replace(/([^?&]+)=([^?&am ...

  4. GIT 操作

    1. 查看某个文件某次提交修改的内容 git show commitid  a.txt  2. git rm 和 git rm --cached  当我们需要删除暂存区或分支上的文件, 同时工作区也不 ...

  5. hihoCoder 1185 连通性·三(Tarjan缩点+暴力DFS)

    #1185 : 连通性·三 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 暑假到了!!小Hi和小Ho为了体验生活,来到了住在大草原的约翰家.今天一大早,约翰因为有事要出 ...

  6. 配置webdriver环境

    安装环境pip install selenium,提示 Could not find a version that satisfies the requirement selenium (from v ...

  7. 读取java目录中相同目录、相同名称的文件

    使用ClassLoader的getResources方法(注意,不是getResource,少了s),可获得指定文件的包含jar包名称的多个路径值,然后依次读取文件即可. 使用class,只能通过ge ...

  8. Bootstrap的字体文件woff2 报错

    在iis上看到网站有个404,于是强迫症来了... 百度了许久,知道了解决办法,记下来,是网站默认没有支持这种字体 在 Web.config 的 system.webServer 节点中添加: 带标签 ...

  9. oracle分组取第一条

    SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn,test1.* FROM test1) WHERE ...

  10. 精简的javascript下throttle和debounce代码

    //频率控制 函数连续调用时,fn 执行频率限定为 1次/waitMs.立即执行1次 function throttle(fn, waitMs) { var lastRun = 0; return f ...