zoukankan      html  css  js  c++  java
  • 团队冲刺8 5.9

    servlet接收并保存前台或app传来的文件。

    以下是一个简单的例子。

    package servlet;
    
    import java.io.BufferedInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.PrintWriter;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    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.FileUploadException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    
    @WebServlet("/Ejdkm")
    public class Ejdkm extends HttpServlet {
        private static final long serialVersionUID = 1L;     
        public Ejdkm() {
            super();
        }
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          }
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.setContentType("text/html"); 
            request.setCharacterEncoding("utf-8");      
             PrintWriter out = response.getWriter();    
             DiskFileItemFactory factory = new DiskFileItemFactory();    //创建缓冲区           
             String temp = this.getServletContext().getRealPath("地址");//缓冲区地址 
             factory.setSizeThreshold(1024 * 1024 * 100);   //缓冲区大小
             factory.setRepository(new File(temp));   
             ServletFileUpload servletFileUpload = new ServletFileUpload(factory); 
             try{  
                 List<FileItem> list = servletFileUpload.parseRequest(request);                         
                 for (FileItem item : list)  {  
                     String name = item.getFieldName();  
                     InputStream is = item.getInputStream(); 
                           
                     if (name.contains("num")){     
                     } else if(name.contains("file")){  
                         try  {   
                             inputStream2File(is,"要保存的地址\文件名字");                   
                         } catch (Exception e) {  
                             e.printStackTrace();  
                         }  
                     }  
                 }  
    
             } catch (FileUploadException e)  {   
                 e.printStackTrace();       
             }   
             response.getWriter().append("你的返回值");
             out.flush();  
             out.close();       
        }
        public String inputStream2String(InputStream is) throws IOException  
        {  
             ByteArrayOutputStream baos = new ByteArrayOutputStream();  
             int i = -1;  
             while ((i = is.read()) != -1)  
             {         
                 baos.write(i);  
             }  
             return baos.toString();  
        }    
        public void inputStream2File(InputStream is,String savePath)  throws Exception{     
            File file = new File(savePath);  
            InputStream inputSteam = is;  
            BufferedInputStream fis = new BufferedInputStream(inputSteam);     
            FileOutputStream fos = new FileOutputStream(file);     
            byte[] b = new byte[10240];
            int len;
            while((len = fis.read(b)) != -1){
                fos.write(b, 0, len);
            }
            fos.flush();  
            fos.close();  
            fis.close();  
            inputSteam.close();     
        } 
    }
  • 相关阅读:
    sql笔记
    虚函数和抽象类笔记
    构造函数和静态构造函数 笔记
    在与sql server 建立连接时出现与网络相关的或特定于实例的错误
    类型转换 笔记
    test
    document.body和document.documentElement比较
    sql2005 存储过程实现分页
    新闻发布用到的存储过程和触发器
    SQL数据查询实例1
  • 原文地址:https://www.cnblogs.com/da48/p/14910366.html
Copyright © 2011-2022 走看看