zoukankan      html  css  js  c++  java
  • 多文件上传和下载

    shangchuang.jsp(上传页面)

      <form action="${pageContext.request.contextPath}/Shang.action" method="post"  enctype="multipart/form-data">
            <input type="file" name="myphoto">
            <input type="file" name="myphoto">
            <input type="submit" value="上传">
        
        </form>

    chenggong.jsp(下载页面)

        <c:forEach items="${myphotoFileName }" var="i">
         <img src="/ShangXia/photo/${i}">
        <a href="${pageContext.request.contextPath}/Xia.action?fileName=${i}">下载</a>
        </c:forEach>

    CopyOfCopyOfShangAction.java(Action);(上传action)

    package com.file;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.struts2.ServletActionContext;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class CopyOfCopyOfShangAction extends ActionSupport {
        /**
         * 
         */
        private static final long serialVersionUID = 2001688979646522319L;
        private List<File> myphoto;
        private List<String> myphotoFileName;
        private String url;
    
        public List<File> getMyphoto() {
            return myphoto;
        }
    
        public void setMyphoto(List<File> myphoto) {
            this.myphoto = myphoto;
        }
    
        public List<String> getMyphotoFileName() {
            return myphotoFileName;
        }
    
        public void setMyphotoFileName(List<String> myphotoFileName) {
            this.myphotoFileName = myphotoFileName;
        }
    
        public String getUrl() {
            return url;
        }
    
        public void setUrl(String url) {
            this.url = url;
        }
    
        public String execute() throws Exception {
            for (int i = 0; i < myphoto.size(); i++) {
                FileOutputStream fos = null;
                FileInputStream fis = null;
                try {
                    // 得到当前项目文件夹路径
                    url = ServletActionContext.getServletContext().getRealPath(
                            "/photo");
                    // 建立文件输出流
    
                    fos = new FileOutputStream(url + "\" + myphotoFileName.get(i));
                    // 建立文件上传流
                    fis = new FileInputStream(myphoto.get(i));
                    byte[] buffer = new byte[1024];
                    int len = 0;
                    while ((len = fis.read(buffer)) > 0) {
                        fos.write(buffer, 0, len);
                    }
                } catch (Exception e) {
                    System.out.println("文件上传失败");
                    e.printStackTrace();
                } finally {
                    if (fis != null) {
                        try {
                            fis.close();
                        } catch (Exception e) {
                            System.out.println("FileInputStream关闭失败");
                            e.printStackTrace();
                        }
                    }
                    if (fos != null) {
                        try {
                            fos.close();
                        } catch (Exception e) {
                            System.out.println("FileOutputStream关闭失败");
                            e.printStackTrace();
                        }
                    }
    
                }
            }
            return SUCCESS;
        }
    
    }
    View Code
    XiazaiAction.java(下载Action)
    package com.file;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.InputStream;
    import java.io.UnsupportedEncodingException;
    
    import org.apache.struts2.ServletActionContext;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class XiazaiAction extends ActionSupport {
        /**
         * 
         */
        private static final long serialVersionUID = 5981560620962755597L;
        private String fileName;
    
        public String getFileName() {
            return fileName;
        }
            public void setFileName(String fileName) {
            this.fileName = fileName;
        }
        public InputStream getInputStream() throws FileNotFoundException {
            String path=ServletActionContext.getServletContext().getRealPath("/photo");
            String url=ServletActionContext.getServletContext().getRealPath("/photo")+"\"+fileName;
    
            System.out.println(path);
            System.out.println(url);
            return new FileInputStream(url);
        }
        public String getXiazaiAction() throws UnsupportedEncodingException{
            System.out.println(fileName);
            fileName=new String(fileName.getBytes("ISO-8859-1"),"UTF-8");
            return fileName;
            
    
        }
    }
    View Code

    struts.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
    <struts>
        <!--国际化信息内码-->
        <constant name="struts.i18n.encoding" value="UTF-8"></constant>
        
        <package name="shang" namespace="/" extends="struts-default">
            <action name="Shang" class="com.file.CopyOfCopyOfShangAction">
                <result name="success">/WEB-INFchenggong.jsp</result>
            </action>
            
            <action name="Xia" class="com.file.XiazaiAction">
                <result type="stream">
                    <param name="contentDisposition">attachment;filename=${XiazaiAction}</param>
                </result>
                
            </action>
            
            
            </package></struts>    
  • 相关阅读:
    Jmeter使用csv文件读取测试数据
    postman入门教程
    VS code 踩坑
    一些安装链接
    Maven笔记
    c++
    更新windows补丁时一直卡在搜索更新
    Java程序设计(第二版)复习 第三章
    Java程序设计(第二版)复习 第二章
    CSS基础一
  • 原文地址:https://www.cnblogs.com/laohan110/p/3527451.html
Copyright © 2011-2022 走看看