对于单个文件上传之前已经发布了,现在发布多个文件上传的实例
java
package hs.struts2.fileupload.action;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.io.FileUtils;
/**
*功能 struts2多文件上传
*/
public class FileUploadArrayAction {
// 自定义文件名
private String filename;
// 上传文件数组,用于多个文件上传
private File uploadFile[];
// 获取上传文件名
private String uploadFileFileName[];
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public File[] getUploadFile() {
return uploadFile;
}
public void setUploadFile(File[] uploadFile) {
this.uploadFile = uploadFile;
}
public String[] getUploadFileFileName() {
return uploadFileFileName;
}
public void setUploadFileFileName(String[] uploadFileFileName) {
this.uploadFileFileName = uploadFileFileName;
}
/**
* 多文件上传
* @return
* @throws IOException
*/
public String upload() throws IOException {
System.out.println("filename:"+filename);
String path= "F://test";
//多个文件上传
for(int i=0;i<uploadFile.length;i++){
//根据时间和输入文件名来标识文件名
File file =new File(path,new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss").format(new Date()).toString()+filename+i);
FileUtils.copyFile(uploadFile[i], file);
}
return "upload";
}
}
jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>struts2多文件上传</title>
</head>
<body>
<s:form action="arrayfileupload!upload.action" method="post" enctype="multipart/form-data" >
<s:label value="filename:"></s:label>
<s:textfield name="filename"></s:textfield>
<s:file name="uploadFile"></s:file>
<s:file name="uploadFile"></s:file>
<s:file name="uploadFile"></s:file>
<s:submit value="上传"></s:submit>
</s:form>
</body>
</html>
xml
<!-- struts2多文件上传 -->
<action name="arrayfileupload" class="hs.struts2.fileupload.action.FileUploadArrayAction">
<result name="upload">/index.jsp</result>
</action>
最后部署到服务器上,请求http://localhost:8080/struts2/test1/fileupload.jsp即可访问。
体会:
对于单个文件和多个文件上传的唯一区别在于,单个属性和多个属性的数组来表示
还有就是对于以后的开发中,可以尽可能用配置文件来读取数据信息
分享到:
相关推荐
MultiFileUpload Struts2多文件 Struts2多文件上传 Struts2上传 Struts2文件上传,随手写的一个Demo实例
K8_Struts2_EXP S2-045 & 任意文件上传 20170310,无密码,2017版,最新版
著名的K8_Struts2_漏洞利用工具,可利用Struts2_漏洞进行任意代码执行和任意文件上传。 本工具仅供学习交流,请勿用于任何非法活动。
'fileDataName' : 'file' 因为在页面上没有加上这个属性,导致在aciton里边接收不到file文件,页面会显示:HTTP ERROR! /index.jsp return "upload"; 开始我这里没有返回值,直接return null,以为它是ajax...
Struts 2.1.8 学习源码内容 Struts2_01FirstDemo : 跑通第一个Struts2的实例 Struts2_02CURD : 关于Struts2的增、删、改和查 实际业务中数据来自数据库,从DAO层查询...Struts2_06FileUpload : Struts2上传文件的使用
Struts2多个文件上传 多个文件上传分为List集合和数组,下面我们着重介绍一下list集合的上传。都大同小异。
文件上传比较多,多文件上传少一点 文件下载很少的,看似简单,实则不然 网上的Struts2进行的文件下载一般都是单文件或者固定的文件,并没有(很少)实现随意文件的下载的例子 提供多文件上传,上传成功后,提供...
程序进过本人亲测,附件中含SQL,用的是MySQL数据库,实现了带进度条的多文件上传,并提供下载功能,解压后可直接导入Eclipse,希望对你有所帮助。
jspstruts1_2struts2 中文件上传 java文件上传
传智播客struts2_3(拦截器_文件上传_输入验证_国际化).ppt
本人自己写的闲的无聊,学习的时候随便到网上找了资料写的一个struts2的小demo。献给新手学习。。老鸟勿视!
struts_fileupload文件上传Struts2
struts2 实现多文件上传功能,是一个很好的学习参考资料
一个swfupload+struts2实现多文件上传的案例。
2. 采用jquery.form.js实现ajaxForm提交表单或上传文件到服务器。 3. 在struts2的Action通过2种不同的实现方法返回json格式的字符串。 4. 针对商品实现简单无刷新上传与下载 4. 批量导入数据采用的是导入test文件夹...
在struts2基础上实现的包括单文件、多文件的上传及下载
struts文件上传单元目录列表: 01.文件上传的网页设置与数据格式分析 02.阐释软件分层的设计思想 03.文件上传组件的实现原理与应用分析 04.用struts获取上传文件名和解决中文乱码 05.保存用struts获取的上传文件内容...
struts文件上传单元目录列表: 01.文件上传的网页设置与数据格式分析 02.阐释软件分层的设计思想 03.文件上传组件的实现原理与应用分析 04.用struts获取上传文件名和解决中文乱码 05.保存用struts获取的上传文件内容...
K8_Struts2_EXP+S2-045+&+任意文件上传+20170309,struts安全漏洞扫描工具。