天天看点

使用springMVC实现文件上传和下载之文件下载

使用springMVC实现文件上传和下载之文件下载

/** 

     * 文件下载,需要文件名和文件地址 

     * 

     * @author:tuzongxun 

     * @title: download 

     * @param@param name 

     * @param@param path 

     * @param@return 

     * @param@throws ioexception 

     * @returnresponseentity<byte[]> 

     * @date apr 28,2016 1:21:32 pm 

     * @throws 

     */  

    @requestmapping(value = "/downloadfile.do")  

    public responseentity<byte[]> download(@requestparam("name") string name,  

           @requestparam("filepath") string path) throws ioexception {  

       file file = new file(path);  

       httpheaders headers = new httpheaders();  

       string filename = new string(name.getbytes("utf-8"), "iso-8859-1");// 为了解决中文名称乱码问题  

       headers.setcontentdispositionformdata("attachment", filename);  

       headers.setcontenttype(mediatype.application_octet_stream);  

       return new responseentity<byte[]>(fileutils.readfiletobytearray(file),  

              headers, httpstatus.created);  

    }  

html页面,这里只是简单的填写文件名和文件路径,用form表单提交到后台,然后后台会控制response在页面弹出保存文件路径的选择框,当然了,这里的后台我没有做什么处理,如果文件不存在是会报错的,可以进行相应的处理:

使用springMVC实现文件上传和下载之文件下载

文件下载:  

   </br> </br>  

   <form action="./downloadfile.do"style="border:1px solid grey;width:auto;" method="post">  

           文件名:<input type="text" name="name"/></br></br>  

           文件路径:<input type="text" name="filepath"/></br></br>  

           <input type="submit" value="确认下载"/>  

   </form>  

页面视图如下:

使用springMVC实现文件上传和下载之文件下载

如果文件不存在,报错如下:

使用springMVC实现文件上传和下载之文件下载