struts 文件上传
=================================== 实现单个文件上传 ======================================
步骤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 文件上传的更多相关文章
- struts文件上传,获取文件名和文件类型
struts文件上传,获取文件名和文件类型 Action中还有两个属 性:uploadFileName和uploadContentType,这两个属性分别用于封装上传文件的文件名.文件类型.这是S ...
- struts文件上传(多文件)
第01步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...
- struts——文件上传
上传文件在一个系统当中是一个很常用的功能,也是一个比较重要的功能.今天我们就一起来学习一下Struts2如何上传文件. 今天讲的上传文件的方式有三种: 1,以字节为单位传输文件: 2,Struts2封 ...
- struts文件上传、文件下载
文件上传 如果在表单中上传文件,表单的enctype属性为multipart/form-data struts默认上传文件大小为2M,如果需要修改,在配置文件中设置 <constant name ...
- Struts文件上传allowedTypes问题,烦人的“允许上传的文件类型”
Struts的文件上传问题,相信很多人都会使用allowedTypes参数来配置允许上传的文件类型,如下. <param name="allowedTypes"> im ...
- struts文件上传(单文件)
第01步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...
- Struts文件上传机制
1首先建立文件上传jsp页面如下 <form action="" method="post" enctype="multipart/form-d ...
- struts 文件上传下载
上传 1.编写上传action类 UploadAction.java package jxf.b_upload; import java.io.File; import java.io.IOExcep ...
- struts文件上传拦截器中参数的配置(maximumSize,allowedTypes ,allowedExtensions)问题
<interceptor-ref name="fileUpload"> <param name="allowedTypes">image ...
- Java Struts文件上传和下载详解
Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...
随机推荐
- css变形 transform【转】
transition:过度属性 transition-property 规定设置过度效果的css属性的名称,默认可以写all transition-duration 规定完成过度效果需要多少秒或毫秒 ...
- windows 安装MySql
转载:http://blog.csdn.net/longyuhome/article/details/7913375 Win7系统安装MySQL5.5.21图解 大家都知道MySQL是一款中.小型关系 ...
- 如何用最简单的方法将PCweb改成适合各种设备的web
使web页面自适应设备大小 1)用一个<div>包围<body>的内容 2)该div属性的宽度设为100% (宽度设为100%后,页面会随着设备窗口大小自动改变) 3)高度 ...
- 【最简单IOC容器实现】实现一个最简单的IOC容器
前面DebugLZQ的两篇博文: 浅谈IOC--说清楚IOC是什么 IoC Container Benchmark - Performance comparison 在浅谈IOC--说清楚IOC是什么 ...
- Oracle EBS Setup
1. Prevent close other forms after close original form
- Python环境安装
Windows: 1.Python安装包下载 可以去官网下载安装包:https://www.python.org/downloads/ 2.Python安装 默认安装路径:C:\python27:也可 ...
- TotalCommander 之 日常使用技巧
一. 常用操作 常用的操作如查看.复制.移动.删除退出已经在Total Commander下方列出,选择好文件后单击相应的按钮或是按下相应的快捷键(F3~F7)就可以完成操作.也可以像Windows中 ...
- eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错? java.lang.ClassNotFoundException: com.branchitech.app.startup.AppStartupContextListener java.lang.ClassN
eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错?java. ...
- 【偶像大师 白金星光】的【Variable Tone】技术大公开!偶像从哪里看都那么可爱,VA小组谈制作方针
http://game.watch.impress.co.jp/docs/news/1016369.html 自从街机版的运营依赖,今年迎来了[偶像大师]系列的11周年.在CEDEC ...
- PHP中GBK和UTF8乱码解决方案
我用的appserv-win32-2.5.10做的环境,装这个包的时候用默认的utf8编码.在写数据库连接文件时,写成: $conn = mysql_connect("$host" ...