DownloadController.java 1.72 KB
package com.bsth.controller; 

import java.io.File;  
import java.io.IOException;  

import org.apache.commons.io.FileUtils;
import org.springframework.context.annotation.Scope;  
import org.springframework.http.HttpHeaders;  
import org.springframework.http.HttpStatus;  
import org.springframework.http.MediaType;  
import org.springframework.http.ResponseEntity;  
import org.springframework.stereotype.Component;  
import org.springframework.web.bind.annotation.RequestMapping;  
  
/** 
 * <一句话功能简述> 
 * <功能详细描述> 
 *  
 * @author  Administrator 
 * @version  [版本号, 2014年3月7日] 
 * @see  [相关类/方法] 
 * @since  [产品/模块版本] 
 */  
@Component  
@Scope("prototype")   
@RequestMapping("/downloadFile")  
public class DownloadController  
{  
	
	@RequestMapping("download")    
    public ResponseEntity<byte[]> download(String jName,String lpName) throws IOException {
    	String moudelPath = this.getClass().getResource("/").getPath()+ "static\\pages\\forms\\export\\"+jName+".xls";
//    	System.out.println(moudelPath);
    	String fileName = jName+lpName+".xls";
//        String path="D:\\export\\target\\"+jName+".xls";  
        File file=new File(moudelPath);  
        HttpHeaders headers = new HttpHeaders();    
        String realFileName=new String(fileName.getBytes("UTF-8"),"iso-8859-1");//为了解决中文名称乱码问题  
        headers.setContentDispositionFormData("attachment", realFileName);   
        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);   
        return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),    
                                          headers, HttpStatus.CREATED);    
    }    
}