博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件上传
阅读量:4945 次
发布时间:2019-06-11

本文共 2122 字,大约阅读时间需要 7 分钟。

代码如下

package com.ming;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import org.apache.commons.fileupload.FileUpload;import org.apache.commons.io.FileUtils;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.apache.struts2.ServletActionContext;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.Date;import java.util.Map;public class uploadFile extends ActionSupport {    private File myFile;    private String myFileContentType;    private String myFileFileName;    private String destPath;    @Override    public String execute()    {        Logger logger = LogManager.getLogger();        // 获取到Action执行的上下文        destPath = ServletActionContext.getServletContext().getRealPath("/");        // 拼接目录        destPath = destPath + "upload/";        // 新建文件        File tmpFile = new File(destPath, new Date().toString() + this.myFileFileName);        try{            FileUtils.copyFile(myFile, tmpFile);        }catch (Exception e){            logger.info(e);        }        logger.info(myFileContentType);        return SUCCESS;    }    public File getMyFile() {        return myFile;    }    public void setMyFile(File myFile) {        this.myFile = myFile;    }    public String getMyFileContentType() {        return myFileContentType;    }    public void setMyFileContentType(String myFileContentType) {        this.myFileContentType = myFileContentType;    }    public String getMyFileFileName() {        return myFileFileName;    }    public void setMyFileFileName(String myFileFileName) {        this.myFileFileName = myFileFileName;    }}

核心思路 是 获取到当前action上下文件,接着获取容器上下文,在进行绝对路径拼接,拼接完成以后,新建file文件,然后,文件内容写入即可.

配置文件

image/jpeg,image/gif
/success.jsp
/error.jsp

1319984-20190325230328890-42803072.jpg

转载于:https://www.cnblogs.com/melovemingming/p/10597466.html

你可能感兴趣的文章
Codeforces Round #436 D. Make a Permutation!
查看>>
scp的使用
查看>>
React组件绑定this的四种方式
查看>>
Jquery操作select
查看>>
利用Git将项目传到GitHub上
查看>>
转摘-谈谈后端业务系统的微服务化改造
查看>>
搜索引擎优化
查看>>
linux文件系统
查看>>
mysql以zip安装,解决the service already exists
查看>>
Maven-POM
查看>>
Java访问修饰符(访问控制符)
查看>>
替换空格_把字符串里面的空格替换成%20
查看>>
AFNetworking content type not support
查看>>
【MSDN】 SqlServer DBCC解析
查看>>
Caused by: java.lang.ClassNotFoundException: org.aopalliance.intercept.MethodInterceptor
查看>>
VM VirtualBox安装Centos6.5
查看>>
C复习篇 - 使用Posix标准线程库 Porgramming with Pthread
查看>>
socket 通讯 端口绑定 问题 解答
查看>>
关于用户需求的调查
查看>>
云计算时代对传统软件工程的冲击
查看>>