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

    java 杨鹏 12:12:06
    package com.yunhe.auction.web;
    
    import java.io.File;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileItemFactory;
    import org.apache.commons.fileupload.FileUploadException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    
    public class AuctionServlet extends HttpServlet {
    
        /**
         * Constructor of the object.
         */
        public AuctionServlet() {
            super();
        }
    
        /**
         * Destruction of the servlet. <br>
         */
        public void destroy() {
            super.destroy(); // Just puts "destroy" string in log
            // Put your code here
        }
    
        /**
         * The doGet method of the servlet. <br>
         *
         * This method is called when a form has its tag value method equals to get.
         * 
         * @param request the request send by the client to the server
         * @param response the response send by the server to the client
         * @throws ServletException if an error occurred
         * @throws IOException if an error occurred
         */
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            this.doPost(request, response);
        }
    
        /**
         * The doPost method of the servlet. <br>
         *
         * This method is called when a form has its tag value method equals to post.
         * 
         * @param request the request send by the client to the server
         * @param response the response send by the server to the client
         * @throws ServletException if an error occurred
         * @throws IOException if an error occurred
         */
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            
            request.setCharacterEncoding("utf-8");
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
            String opr=request.getParameter("opr");
            if("add".equals(opr)){
                String webpath=request.getSession().getServletContext().getRealPath("upload");//获取上传到服务器的路径
                File savepath=new File(webpath);
                if(!savepath.exists()){
                    savepath.mkdirs();
                }
                out.println("保存文件路径:"+webpath+"</br>"+"</br>");
                FileItemFactory factory=new DiskFileItemFactory();//创建FileItemFactory对象
                ServletFileUpload fileUpload=new ServletFileUpload(factory);//创建ServletFileUpload对象
                //fileUpload.setSizeMax(1024*30);//设置单个文件的最大限制 
                
                List<FileItem> list=null;
                try {
                    list = fileUpload.parseRequest(request);
                } catch (FileUploadException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }//解析form表单中所有文件
                
                for(FileItem item:list){
                    if(item.isFormField()){
                        if(item.getFieldName().equals("auctionname")){
                            String auctionname=item.getString("utf-8");
                            //out.println(item.getString("utf-8")+" 正在上传文件!"+"</br>"+"</br>");
                        }
                        if(item.getFieldName().equals("auctionstartprice")){
                            String auctionstartprice=item.getString("utf-8");
                        }
                        if(item.getFieldName().equals("auctionupset")){
                            String auctionupset=item.getString("utf-8");
                        }
                        if(item.getFieldName().equals("auctionstarttime")){
                            String auctionstarttime=item.getString("utf-8");
                        }
                        if(item.getFieldName().equals("auctionendtime")){
                            String auctionendtime=item.getString("utf-8");
                        }
                        if(item.getFieldName().equals("auctiondesc")){
                            String auctiondesc=item.getString("utf-8");
                        }
                    }else{
                        String filename=item.getName();//源文件 完整路径
                        //out.println(filename+"</br>"+"</br>");
                        //List<String> fileType=Arrays.asList("gif","bmp","jpg","txt");
                        String ext=filename.substring(filename.lastIndexOf(".")+1);
                        //if(fileType.contains(ext)){
                            
                            if(filename!=null){
                                File sourcefile=new File(filename);//保存文件
                                String name=sourcefile.getName();//得到文件逻辑名
                                //out.println(name);
                                File file=new File(savepath,name);
                                
                                try {
                                    item.write(file);
                                } catch (Exception e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }
                                out.println("上传成功!");
                            }else{out.println("上传失败!");};
                        //}else{out.println("上传文件失败,类型只能是:gif、bmp、jpg、txt");}
                    }
                }
                        
            }
            out.flush();
            out.close();
        }
    
        /**
         * Initialization of the servlet. <br>
         *
         * @throws ServletException if an error occurs
         */
        public void init() throws ServletException {
            // Put your code here
        }
    
    }
  • 相关阅读:
    开源的UML建模工具
    leetcode 559. Maximum Depth of N-ary Tree
    leetcode 9. Palindrome Number
    暗网 tor溯源困难根因——用户的请求会在分布全球的主机随机跳转三次,最终才到达服务器,这就造成了溯源的极其困难
    leetcode 374. Guess Number Higher or Lower
    RDP协议暴力破解
    清华大学 pip 源
    暴力破解研究论文
    利用ModSecurity防御暴力破解
    IRC BOT原来是利用IRC下发C&C命令——在xx云环境遇到了,恶意软件开的是6666端口
  • 原文地址:https://www.cnblogs.com/jimorulang/p/5552687.html
Copyright © 2011-2022 走看看