版本:webwork2.2.5
各配置文件与《webwork上传单个文件》中的一直,现只写uploadFiles.jsp和uploadAction2.java
uploadFiles.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>多文件上传实例</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script language="Javascript">
function addAccessory() {
var accessoryListObj = document.getElementById("accessoryList");
var accObj = document.createElement("span");
var spanId = (new Date()).getTime();
var spanHTML = "<input type='file' name='files' size='35'><input type='button' value='删除' onclick=deleteFile('" + spanId + "')><br>";
accObj.setAttribute("id", spanId);
accObj.setAttribute("width", "500px");
accObj.innerHTML = spanHTML;
accessoryListObj.appendChild(accObj);
}
function deleteFile(fileId) {
var accessoryListObj = document.getElementById("accessoryList");
var accObj = document.getElementById(fileId);
accessoryListObj.removeChild(accObj);
}
</script>
</head>
<body>
<form name="form1" method="post" enctype="multipart/form-data" action="member/upload2.do">
<table id="DataTable">
<tbody>
<tr>
<td colspan="4"><strong>附件:</strong>
<span onclick="addAccessory()" style="cursor:pointer;color:blue;">
<strong>[添加附件]</strong>
</span>
</td>
</tr>
<tr>
<td colspan="4" style="width:500px;height:200px;">
<div id="accessoryList" style="overflow-x:hidden;overflow-y:auto;width:100%;height:100%;">
</div>
</td>
</tr>
<tr>
<td colspan="4" style="width:500px;height:15px;" align="center">
<input type="submit" value="提交">
</td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
uploadAction2.java
package com.luodada.trans.soa.busi.web;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.ResourceBundle;
import com.opensymphony.xwork.ActionSupport;
public class UploadAction2 extends ActionSupport {
private File[] files;
private String[] filesFileName;
public String uploadFile() {
upload();
return "succ";
}
public void upload() {
if (files != null) {
for (int i = 0 ; i < files.length ; i++) {
FileOutputStream outputStream;
try{
ResourceBundle rb = ResourceBundle.getBundle("config");
String fileDir = rb.getString("saveDir") + File.separator;
Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
String time = df.format(date);
filesFileName[i] = time + "_" + filesFileName[i];
String filePath = fileDir + filesFileName[i];
try {
// 创建目录
File f = new File(fileDir);
f.mkdirs();
} catch (Exception ex) {
ex.printStackTrace();
}
outputStream = new FileOutputStream(filePath);
FileInputStream fileIn = new FileInputStream(files[i]);
byte[] buffer = new byte[1024];
int len;
while ((len = fileIn.read(buffer)) > 0) {
outputStream.write(buffer, 0, len);
}
fileIn.close();
outputStream.close();
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
System.out.println("uploadfile name="+filesFileName[i]);
}
} else {
System.out.println("file is null!");
}
}
public File[] getFiles() {
return files;
}
public void setFiles(File[] files) {
this.files = files;
}
public String[] getFilesFileName() {
return filesFileName;
}
public void setFilesFileName(String[] filesFileName) {
this.filesFileName = filesFileName;
}
}
分享到:
相关推荐
WebWork 文件上传 多个文件上传 范例
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第68个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第13个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第11个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第1个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第10个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第12个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第4个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第2个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第15个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第8个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第9个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第5个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第14个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第3个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证质量。由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为第7个包。
《Struts2权威指南——基于WebWork核心的MVC开发》的源代码。请完全放心,绝对保证...由于源码中包含jar文件,打出的包过大,只能分多次上传,请谅解。原文件大于415M,压缩后377M,分压成16个包。此为最后一个(16)包。
Struts2用到的核心jar包: 基本功能核心jar包 5个(2.1.8) struts2-core-2.1.8.1.jar(*) Struts2核心包,是Struts框架的“外衣”...用于实现文件上传功能的jar包。 使用时候将5个Struts2的核心Jar包到WEB-INF/lib/下
* 可适应性,但不具有强制性:根据不同的情况,使用任何你需要的控制器子类(普通控制器、命令、表单、向导、多个行为、或者自定义的) * 可重用的业务代码,而不需要代码重复:你可以使用现有的业务对象作为命令...
处理多个持久化单元 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的JPA实现DAO 12.6.4. 异常转化 12.6.5. 事务管理 12.6.6. JpaDialect III. Web 13. Web框架 13.1. 介绍 13.1.1. 与其他web框架的集成 ...