67,513
社区成员
发帖
与我相关
我的任务
分享
//通过FormFile对象上传文件
private FormFile processDef;
private FormFile processImage;
public FormFile getProcessDef() {
return processDef;
}
public void setProcessDef(FormFile processDef) {
this.processDef = processDef;
}
public FormFile getProcessImage() {
return processImage;
}
public void setProcessImage(FormFile processImage) {
this.processImage = processImage;
}
<tr>
<td class="tdEditLabel" ><strong>请选择流程定义文件</strong></td>
<td class="tdEditContent"><strong><input type="file" name="processDef"></strong>
</td>
<td class="tdEditLabel" ><strong>请选择流程定义图片</strong></td>
<td class="tdEditContent"><strong><input type="file" name="processImage"></strong></td>
</tr>
看看对你有没有帮助
页面源码
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'Upload.jsp' starting page</title>
<script type="text/javascript">
function addMore(){
var td=document.getElementById("more");
var br=document.createElement("br");
var input=document.createElement("input");
var button=document.createElement("button");
input.type="file";
input.name="file";
//button.type="button";
button.value="Remove";
button.onclick=function(){
td.removeChild(br);
td.removeChild(input);
td.removeChild(button);
}
td.appendChild(br);
td.appendChild(input);
td.appendChild(button);
}
</script>
</head>
<body>
<table align="center" width="50%">
<s:fielderror cssStyle="color:red"></s:fielderror>
</table>
<s:form action="Upload.action" method="post" enctype="multipart/form-data" theme="simple">
<table width="50%" border="1" align="center">
<tr>
<td>username:</td>
<td><s:textfield name="username"/></td>
</tr>
<tr>
<td>password:</td>
<td> <s:password name="password"/></td>
</tr>
<tr>
<td>file:</td>
<td id="more">
<s:file name="file"/><input type="button" value="more...." onclick="addMore()"/>
</td>
</tr>
<tr>
<td><s:submit label="submit"></s:submit></td>
<td><s:reset label="reset"></s:reset></td>
</tr>
</table>
</s:form>
</body>
</html>
源码
package com.framework.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class FileUploadAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String username;
private String password;
private List<File> file;
private List<String> fileFileName;
private List<String> fileContentType;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public List<File> getFile() {
return file;
}
public void setFile(List<File> file) {
this.file = file;
}
public List<String> getFileFileName() {
return fileFileName;
}
public void setFileFileName(List<String> fileFileName) {
this.fileFileName = fileFileName;
}
public List<String> getFileContentType() {
return fileContentType;
}
public void setFileContentType(List<String> fileContentType) {
this.fileContentType = fileContentType;
}
@SuppressWarnings("deprecation")
@Override
public String execute() throws Exception {
for (int i = 0; i < file.size(); i++) {
InputStream is = new FileInputStream(file.get(i));
String root = ServletActionContext.getRequest().getRealPath("\\item");
File destFile = new File(root, this.getFileFileName().get(i));
OutputStream os = new FileOutputStream(destFile);
byte[] by = new byte[400];
int length = 0;
while ((length = is.read(by)) > 0) {
os.write(by, 0, length);
}
is.close();
os.close();
}
return "success";
}
}