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

    01.创建对应的上传页面

    <body>
        <form action="user/upload" method="post" enctype="multipart/form-data">
          <input  type="file"  name="upload"/>
          <input  type="submit"  value="登录"/>
        </form>
      </body>

    02.创建对应的struts.xml文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
    
    <!--设置开发模式  -->
     <constant name="struts.devMode" value="true"/>
     <!-- 设置文件上传的大小 -->
     <constant name="struts.multipart.maxSize" value="20971520000"/>
     
        <package name="default"  namespace="/user" extends="struts-default">
        <!-- 文件上传 -->
           <action name="upload" class="cn.bdqn.action.UploadAction" method="upload">
                <!--限制 文件上传类型  MIME  服务器中conf文件夹的web.xml  -->
                <interceptor-ref name="fileUpload">
                  <param name="allowedTypes">image/jpeg</param>
                </interceptor-ref>
              <interceptor-ref name="defaultStack"/>
             <result name="input">/error.jsp</result>
             <result>/success.jsp</result>
           </action>
        </package>
    </struts>

    03.创建对应的Action

    public class UploadAction extends ActionSupport {
        
        //上传的文件
        private  File upload;
        /**
         * 上传文件的名称
         * 当前系统的毫秒数+随机数+文件名
         */
        private  String  uploadFileName;
        //上传文件的类型
        private  String  uploadContentType;
    
        
        public  String  upload(){
            System.out.println("进入了 文件上传..........");
            //指定文件上传的位置
            String path = ServletActionContext.getServletContext().getRealPath("/upload");
            //文件的名称   File.separatorChar(系统的分隔符  区分Window 和  Linux)
            String name=path+File.separatorChar+uploadFileName;
            System.out.println("文件的名称是:"+name);
             try {
                FileUtils.copyFile(upload, new File(name));
            } catch (IOException e) {
                e.printStackTrace();
                return INPUT;
            }
            return  SUCCESS;
        }
    
    
        public File getUpload() {
            return upload;
        }
    
    
        public void setUpload(File upload) {
            this.upload = upload;
        }
    
    
        public String getUploadFileName() {
            return uploadFileName;
        }
    
    
        public void setUploadFileName(String uploadFileName) {
            this.uploadFileName = uploadFileName;
        }
    
    
        public String getUploadContentType() {
            return uploadContentType;
        }
    
    
        public void setUploadContentType(String uploadContentType) {
            this.uploadContentType = uploadContentType;
        }
        
        
    }

    04.错误界面!省略!

    05.多个文件上传  界面修改

     <body>
        <form action="user/upload" method="post" enctype="multipart/form-data">
          <input  type="file"  name="upload"/>
          <input  type="file"  name="upload"/>
          <input  type="file"  name="upload"/>
          <input  type="submit"  value="登录"/>
        </form>
      </body>

    06.Action修改后的代码

    public class UploadAction extends ActionSupport {
        
        //上传的文件
        private  File [] upload;
        /**
         * 上传文件的名称
         * 当前系统的毫秒数+随机数+文件名
         */
        private  String [] uploadFileName;
        //上传文件的类型
        private  String [] uploadContentType;
    
        
        
        //多文件上传
        public  String  upload(){
            System.out.println("进入了 多文件上传..........");
            //指定文件上传的位置
            String path = ServletActionContext.getServletContext().getRealPath("/upload");
            //文件的名称   File.separatorChar(系统的分隔符  区分Window 和  Linux)
            String name="";
            for (int i = 0; i <upload.length; i++) {
                name=path+File.separatorChar+uploadFileName[i];
                System.out.println("文件的名称是:"+name);
                 try {
                    FileUtils.copyFile(upload[i], new File(name)); //真正上传
                } catch (IOException e) {
                    e.printStackTrace();
                    return INPUT;
                }
            }
            return  SUCCESS;
        }
    
    
        public File[] getUpload() {
            return upload;
        }
    
    
        public void setUpload(File[] upload) {
            this.upload = upload;
        }
    
    
        public String[] getUploadFileName() {
            return uploadFileName;
        }
    
    
        public void setUploadFileName(String[] uploadFileName) {
            this.uploadFileName = uploadFileName;
        }
    
    
        public String[] getUploadContentType() {
            return uploadContentType;
        }
    
    
        public void setUploadContentType(String[] uploadContentType) {
            this.uploadContentType = uploadContentType;
        }
    
    
        
        
        
    }
  • 相关阅读:
    编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的区别
    【转】 Oracle 用户权限管理方法
    oracle实例内存(SGA和PGA)调整
    oracle修改内存使用和性能调节,SGA
    下星期计划——9.7~9.13
    医疗数据分析——过高费用的异常检测
    Groovy介绍
    Java 7代码层面上的更新
    Java陷阱之assert关键字
    支持向量机(SVM)、支持向量回归(SVR)
  • 原文地址:https://www.cnblogs.com/xtdxs/p/7097534.html
Copyright © 2011-2022 走看看