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

    package org.zln.struts.domain;
    
    
    import org.apache.struts.upload.FormFile;
    
    /**
     * Created by sherry on 000021/5/21 21:06.
     */
    public class RegUser {
       
        /*文件上传*/
        private FormFile photo;
    
        public FormFile getPhoto() {
            return photo;
        }
        public void setPhoto(FormFile photo) {
            this.photo = photo;
        }
    
    }
    <%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
    <html>
    <head>
        <title>注册用户</title>
    </head>
    <body>
       
        <html:form action="/upload" method="post" enctype="multipart/form-data">
            <table>
                <caption><h2>文件上传</h2></caption>
                <tr>
                    <td>文件</td>
                    <td>
                        <html:file property="regUser.photo"/>
                    </td>
                </tr>
                <tr>
                    <td colspan="2" align="center">
                        <html:submit>
                            <bean:message key="info.submit" bundle="message"/>
                        </html:submit>
                    </td>
                </tr>
            </table>
        </html:form>
    </body>
    </html>
    package org.zln.struts.action;
    
    import org.apache.commons.lang3.StringUtils;
    import org.apache.struts.Globals;
    import org.apache.struts.action.*;
    import org.apache.struts.upload.FormFile;
    import org.zln.struts.domain.Gender;
    import org.zln.struts.domain.Speciality;
    import org.zln.struts.form.RegUserForm;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import java.io.*;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Locale;
    import java.util.UUID;
    
    /**
     * Created by coolkid on 2015/5/23 0023.
     */
    public class UserAction extends Action {
    ......
    
        private String upload(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException {
            RegUserForm regUserForm = (RegUserForm) form;
            FormFile photo = regUserForm.getRegUser().getPhoto();
            System.out.println(photo.getFileName()+
                    ":"+photo.getFileSize());
            //response.setContentType("text/html;charset=UTF-8");//过滤器已经做了这活儿
            /*response.getWriter().print(photo.getFileName() +
                    ":" + photo.getFileSize());*/
    
            InputStream inputStream = photo.getInputStream();
            String savePath = request.getServletContext().getRealPath("/upLoad");
            File upDir = new File(savePath);
            if (!upDir.exists()){
                upDir.mkdirs();
                System.out.println(savePath+"
    目录创建成功");
            }
            System.out.println("path:"+savePath);
            BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(new File(upDir, UUID.randomUUID()+photo.getFileName())));
            byte[] bytes = new byte[1024];
            int len;
            while ((len = inputStream.read())>0){
                bufferedOutputStream.write(bytes,0,len);
            }
            bufferedOutputStream.close();
            inputStream.close();
            System.out.println("文件上传成功");
            return "SUCCESS";
        }
    
        
    ......
    
    }
  • 相关阅读:
    使用postman时请求参数中包含特殊字符问题,如加号传到后台变成空格
    okhttp3报错:java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
    Eclipse的知识积累
    partition 取数据中相同字段数据中取时间最大的一个值 并只保留一条
    理解Session缓存机制 操纵持久化对象
    Hibernate的检索策略
    LINQ介绍
    .Net 一对一的双向关联Map写法
    Hibernate多态查询
    NHibernate实战[转 2012 gogogo]
  • 原文地址:https://www.cnblogs.com/sherrykid/p/4573889.html
Copyright © 2011-2022 走看看