zoukankan      html  css  js  c++  java
  • java_method_UpDownUtils下载Excle表格

    package cn.com.qmhd.tools;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import cn.com.qmhd.tools.Log;
    
    import com.oreilly.servlet.multipart.FilePart;
    import com.oreilly.servlet.multipart.MultipartParser;
    import com.oreilly.servlet.multipart.ParamPart;
    import com.oreilly.servlet.multipart.Part;
    
    public class UpDownUtils{
    
    	public boolean download(HttpServletRequest request,
    			HttpServletResponse response, String filePath, String strFileName,
    			String strType) {
    		try {
    			File f = new File(filePath);
    
    			response.reset(); 
    			response.setContentType( strType );//设置下载文件的类型 
    			response.setHeader("content-disposition","attachment; filename="+strFileName); //设置下载的文件名 
    
    			long fileLength=f.length(); 
    			String length1=String.valueOf(fileLength); 
    			response.setHeader("Content_Length",length1); //下载文件的大小 
    
    			InputStream in = new FileInputStream( f ); 
    			OutputStream out = response.getOutputStream(); 
    			byte[] buffer = new byte[2097152]; 
    			 
    			int ins = in.read(buffer);//读取字节到buffer中 
    
    			//ins == -1 时 。就已经是文件的结尾了 
    			while ( ins != -1 ) {
    			    out.write(buffer, 0, ins);//将缓存buffer中的数据写到文件中 
    			    ins = in.read(buffer); 
    			} 
    			in.close(); 
    			out.flush(); 
    			out.close();
    			return true;
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			return false;
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			return false;
    		}
    		
    	}
    
    	public String upload(HttpServletRequest request, String strFileName , int fileSize) {
    		
    		try {
    			
    			MultipartParser mp = new MultipartParser(request,fileSize * 1024 * 1024);
    
    			//所有表单域都是Part实例 
    
    			Part part; 
    
    			//遍历请求中的所有表单域 
    
    			while((part = mp.readNextPart()) != null ){ 
    
    				//取得表单域的name属性值 
    				String name = part.getName(); 
    
    				//对于普通表单域 
    
    				if(part.isParam()){ 
    
    				//取得普通表单域的值 
    
    					ParamPart paramPart = (ParamPart) part; 
    			
    					String value = paramPart.getStringValue("GBK"); 
    			
    					//System.out.println("Some common form fields:<br>name=" + name + ";value=" + value + "<br>"); 
    			
    				}
    
    				//对于文件域 
    
    				else if(part.isFile()){
    
    					//获取文件上传域 
    			
    					FilePart filePart = (FilePart) part; 
    					
    					//System.out.println( filePart.getFileName() );
    			
    					//fileName = filePart.getFileName(); 
    			
    					if(strFileName != null){ 
    			
    					//输出文件内容 
    			
    						long size = filePart.writeTo(new File(request.getRealPath("/")+"upload/"+strFileName)); 
    			
    						//System.out.println("Upfile:<br>File name field=" + name + ";fileName=" + strFileName + "<br>"); 
    			
    					}else{ 
    			
    					//文件名为空 
    			
    						return "error";
    					} 
    			
    					System.out.flush(); 
    			
    				}
    
    			}
    
    			return strFileName;
    		} catch (Exception e) {
    			Log.getInstance().printError(this.getClass().getName(), e.toString());
    			e.printStackTrace();
    			return "error";
    		} 
    		
    	}
    
    }
    

      

  • 相关阅读:
    ps
    Elasticsearch Java Rest Client API 整理总结 (一)
    "error" : "Content-Type header [application/x-www-form-urlencoded] is not supported"
    hdu1421 搬寝室(dp)
    A题之变态青蛙跳
    11.Laravel5学习笔记:扩展 Validator 类
    HDU 5607 graph(矩阵优化+概率DP)
    《Spring技术内幕》笔记-Spring的设计理念和总体架构
    hihocoder 1124 : 好矩阵 dp
    关于ValueAnimation以及Interpolator +Drawable实现的自己定义动画效果
  • 原文地址:https://www.cnblogs.com/zxxbk/p/6265226.html
Copyright © 2011-2022 走看看