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

    第一步:首先创建一个多文件上传的页面

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>多文件上传</title>
    </head>
    <body>
        <h1>多文件上传</h1>
        
        <br><br>
        <form action="/Struts2-day02pm/upload/multi_upload.action" method="post" enctype="multipart/form-data">
            文件上传2:<br><br>
            <input type="file" name="oneFiles"><br><br>
            <input type="file" name="oneFiles"><br><br>
            <input type="file" name="oneFiles"><br><br>
            <input type="submit" value="开始多文件上传">
        </form>
    </body>

    第二步:创建多文件上传的请求处理类MultiUploadAction继承BaseAction(BaseAction代码见单文件上传)

    public class MultiUploadAction extends BaseAction {
    
        private static final long serialVersionUID = -4445894434193884175L;
        
        private File[] oneFiles;
        private String[] oneFilesFileName;
        private String[] oneFilesContentType;
        
        private HttpServletRequest request;
        
        @Override
        public void setServletRequest(HttpServletRequest request) {
            this.request = request;
        }
    
        @Override
        public String execute() throws Exception {
            String uploadPath = request.getServletContext().getRealPath("upload");
    
            for (int i = 0; i < oneFiles.length; i++) {
                
                File file = new File(uploadPath, oneFilesFileName[i]);//拼接文件的存放路径和存放文件的真实名称
                FileUtils.copyFile(oneFiles[i], file);//将临时文件复制到上面这个路径
            }
            return SUCCESS;
        }
    
        public File[] getOneFiles() {
            return oneFiles;
        }
        public void setOneFiles(File[] oneFiles) {
            this.oneFiles = oneFiles;
        }
        public String[] getOneFilesFileName() {
            return oneFilesFileName;
        }
        public void setOneFilesFileName(String[] oneFilesFileName) {
            this.oneFilesFileName = oneFilesFileName;
        }
        public String[] getOneFilesContentType() {
            return oneFilesContentType;
        }
        public void setOneFilesContentType(String[] oneFilesContentType) {
            this.oneFilesContentType = oneFilesContentType;
        }
        public HttpServletRequest getRequest() {
            return request;
        }
        public void setRequest(HttpServletRequest request) {
            this.request = request;
        }
    }

    第三步:配置struts.xml配置文件

    <struts>
    
        <package name="upload-default" namespace="/upload" extends="struts-default">
            
            <action name="multi_upload" class="com.struts2.day02pm.action.MultiUploadAction">
                <result>/WEB-INF/jsp/multi_upload_ok.jsp</result>
            </action>
        </package>
    
    </struts>

    第四步:前台页面测试上传文件

  • 相关阅读:
    Android SQLite 建立多表间的主外键关系 Binary
    Android——扩大ImageButton的点击区域 Binary
    Android——刷新媒体库 Binary
    Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令 转自:南水江的鸽子窝
    在同一应用中混合使用ASP.NET窗体和ASP.NET MVC 转自:geez的个人空间
    ASP.NET WebApplication 发布部署
    Oracle 导出索引Sequence!!
    获取ORACLE 表字段,表名,以及主键之类等等的信息
    FlexGrid 控件的使用 摘自:大道至简
    整合 DZNT到自己网站
  • 原文地址:https://www.cnblogs.com/zy19930408/p/4923794.html
Copyright © 2011-2022 走看看