首页>代码>Struts2文件上传配置教程Demo代码下载>/FileUpLoad/src/main/java/com/zuidaima/fileupload/controller/FileUploadAction.java
package com.zuidaima.fileupload.controller; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; /** * * @author dyl * */ public class FileUploadAction extends ActionSupport { private static final long serialVersionUID = 1L; private File fileUpload; private String fileUploadContentType; private String fileUploadFileName; private String uploadDir; public String getFileUploadContentType() { return fileUploadContentType; } public void setFileUploadContentType(String fileUploadContentType) { this.fileUploadContentType = fileUploadContentType; } public String getFileUploadFileName() { return fileUploadFileName; } public void setFileUploadFileName(String fileUploadFileName) { this.fileUploadFileName = fileUploadFileName; } public File getFileUpload() { return fileUpload; } public void setFileUpload(File file) { this.fileUpload = file; } public String getUploadDir() { return uploadDir; } public void setUploadDir(String uploadDir) { this.uploadDir = uploadDir; } public String execute() throws Exception { String newFileName = null; long now = System.currentTimeMillis(); // 得到保存上传文件的目录的真实路径 File dir = new File(ServletActionContext.getServletContext() .getRealPath(uploadDir)); // 如果该目录不存在,就创建 if (!dir.exists()) { dir.mkdirs(); } // 为避免重名文件覆盖,判断上传文件是否有扩展名,以时间戳作为新的文件名 int index = fileUpload.getName().lastIndexOf("."); if (index != -1) { newFileName = now + fileUpload.getName().substring(0,index); } else { newFileName = Long.toString(now); } InputStream is = null; OutputStream os = null; try { // 读取保存在临时目录下的上传文件,写入到新的文件中 is = new FileInputStream(fileUpload); os = new FileOutputStream(new File(dir, newFileName)); byte[] buf = new byte[1024]; int len = -1; while ((len = is.read(buf)) != -1) { os.write(buf, 0, len); } //删除临时文件 fileUpload.delete(); } finally { is.close(); os.close(); } return "SUCCESS"; } public String display() { return "NONE"; } }

张青峰 LV10
2020年4月14日
hehehe998 LV10
2018年12月24日
wenxin2018 LV1
2018年11月20日
poli33 LV1
2018年10月25日
老刘啊 LV2
2018年4月21日
wxsuperwx LV17
2018年2月1日
qq251106680 LV3
2017年11月9日
dl659257617 LV1
2017年9月15日
n3189543565 LV18
2017年3月29日
果汁听 LV2
2016年10月11日