用两个包:一个是commons-fileupload-1.3.2.jar,另一个是commons-io-2.2.jar
jsp界面:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>Insert title here
做Action。
三个成员:1.File file上传的文件 2.String fileFileName属性名 3.String fileContentType属性名org.apache.commons.io.FileUtils.copyFile很简单。
sturts.xml配置文件,可在里面添加常量,修改文件上传的大小限制。就可以上传大文件了
{1}_{2}.jsp
解决重命名问题
package com.itnba.maya.controller;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import org.apache.commons.io.FileUtils;import com.opensymphony.xwork2.ActionSupport;public class ShangchuanAction extends ActionSupport { private File file; private String fileFileName;//上传文件的名字 private String fileContentType;//上传文件的格式 public File getFile() { return file; } public String getFileFileName() { return fileFileName; } public void setFileFileName(String fileFileName) { this.fileFileName = fileFileName; } public String getFileContentType() { return fileContentType; } public void setFileContentType(String fileContentType) { this.fileContentType = fileContentType; } public void setFile(File file) { this.file = file; } public String input(){ return SUCCESS; } public String add() throws IOException{ //为了防止上传文件重名,在文件前面加上当前时间 long l=System.currentTimeMillis(); Date date=new Date(l); SimpleDateFormat sdf= new SimpleDateFormat("yyyyMMddhhmmssSSS");//精确到毫秒 String pre=sdf.format(date); String fileName = pre+fileFileName; File destFile = new File("d:\\"+fileName);//放到哪里的路径+文件名 FileUtils.copyFile(file, destFile); return SUCCESS; }}
上传完成
*************************************************************************************
多个文件同时上传,Action类里面三个成员定义成数组,用数组来接收
package com.itnba.maya.controller;import java.io.File;import java.io.IOException;import org.apache.commons.io.FileUtils;import com.opensymphony.xwork2.ActionSupport;public class ShangchuanduoAction extends ActionSupport { private File[] file; private String[] fileFileName; private String[] fileContentType; public File[] getFile() { return file; } public void setFile(File[] file) { this.file = file; } public String[] getFileFileName() { return fileFileName; } public void setFileFileName(String[] fileFileName) { this.fileFileName = fileFileName; } public String[] getFileContentType() { return fileContentType; } public void setFileContentType(String[] fileContentType) { this.fileContentType = fileContentType; } public String input(){ return SUCCESS; } public String add() throws IOException{ //遍历数组 for(int i=0;i
jap页面:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>Insert title here 多文件上传
上传成功