SpringMVC 下载文件,图片等

应用包为:
import javax.servlet.http.HttpServletRequest;
import  org.apache.commons.io.FileUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;


下载功能方法

@RequestMapping (value= "/download" )
    public ResponseEntity< byte []> download(HttpServletRequest request ,
            Model model ) throws Exception {
       //下载文件路径
       String path = request .getServletContext().getRealPath( "/WEB-INF/resource/upload/" );
       System. out .println( "path:" + path );
       File file = new File( path + File. separator + "test.txt" );
       System. out .println( file .toString());
       HttpHeaders headers = new HttpHeaders(); 
       //下载显示的文件名,解决中文名称乱码问题 
       String downloadFielName = new String( "test.txt" .getBytes( "UTF-8" ), "iso-8859-1" );
       //通知浏览器以attachment(下载方式)打开图片
       headers .setContentDispositionFormData( "attachment" , downloadFielName );
       //application/ octet -stream : 二进制流数据(最常见的文件下载)。
       headers .setContentType(MediaType. APPLICATION_OCTET_STREAM );
       return new ResponseEntity< byte []>(FileUtils. readFileToByteArray ( file ),   
               headers , HttpStatus. CREATED ); 
    }

你可能感兴趣的:(SpringMVC 下载文件,图片等)