您的位置:首页 > 其它

文件上传(以列表方式)

2009-07-21 18:43 399 查看
页面端在前面已经讲述过

这边是通过List的列表方式获取到上传的文件列表

并对文件进行逐一的上传

贴代码如下:

package com.test.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 UploadAction extends ActionSupport {

private String username;

private String password;

private List<File> file;

// 为名称之后加FileName,不得更改

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;

}

@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(

"/upload");

File destFile = new File(root, this.getFileFileName().get(i));

OutputStream os = new FileOutputStream(destFile);

byte[] buffer = new byte[400];

int len = 0;

while ((len = is.read(buffer)) > 0) {

os.write(buffer, 0, len);

}

os.close();

is.close();

}

return SUCCESS;

}

}

方式与前面的类似,其实只是个方法当中将原来的File升级为List<File>,通过list可以获取每个文件的属性并进行上传
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: