zoukankan      html  css  js  c++  java
  • 文件上传

    代码如下

    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文件,然后,文件内容写入即可.

    配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    
    <!DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
            "http://struts.apache.org/dtds/struts-2.5.dtd">
    
    <struts>
        <!-- 定义调试 -->
        <constant name="struts.devMode" value="true" />
        <constant name="struts.multipart.maxSize" value="1000000" />
        <package name="helloworld" extends="struts-default">
            <action name="upload" class="com.ming.uploadFile">
                <interceptor-ref name="defaultStack"/>
                <interceptor-ref name="fileUpload">
                    <param name="allowedTypes">image/jpeg,image/gif</param>
                </interceptor-ref>
                <result name="success">/success.jsp</result>
                <result name="error">/error.jsp</result>
            </action>
        </package>
    </struts>
    

    在无知的道路上缓步前行
  • 相关阅读:
    select入门学习
    tomcat入门及相关学习
    Tomcat&Servlet
    CPU排行榜
    CPU后字母代表的含义
    刷 BIOS
    Java的三个体系
    XML入门及案例
    BootStrap笔记
    第三节 DOM及案例 表格全选、表单验证
  • 原文地址:https://www.cnblogs.com/melovemingming/p/10597466.html
Copyright © 2011-2022 走看看