IDEA文件下载

1.在html中添加超链接 (要下载的文件是固定的)

<body>
<form action="upload" method="post" enctype="multipart/form-data">
   <div>
      <input type="file" name="file" />
   </div>
    <div>
        <input type="submit" value="文件上传" />
    </div>
    <div>
        <a href="/download?filename=.project">文件下载</a>
    </div>
</form>
</body>

2.创建FiledownController

@RestController
 public class FileDownloadController {

@RequestMapping("download")
 public ResponseEntity<byte []> download(HttpServletRequest request, HttpServletResponse response,String filename) throws Exception{
   String path = request.getServletContext().getRealPath("/upload/");
   System.out.println("@@@"+path);
   File file = new File(path + File.separator + filename);
    System.out.println("###"+file);
    if(file.exists()){
        response.setContentType("application/vnd.ms-excel;charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setHeader("Content-Disposition","attachment:filename="+ URLEncoder.encode(filename,"UTF-8"));
        byte[] buffer = new byte[1024];
        FileInputStream fis = null;   //输入流
        OutputStream os = null;        //输出流
        BufferedInputStream bis = null;  //缓冲流

        try {
            os = response.getOutputStream();
            fis = new FileInputStream(file);
            bis = new BufferedInputStream(fis);
            int i =  bis.read(buffer);
            while (i != -1){
                os.write(buffer);
                i = bis.read(buffer);
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        try {
             bis.close();
             fis.close();
        }catch (IOException e){
            e.printStackTrace();
        }

    }
        return  null;
 }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,395评论 0 3
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,941评论 0 5
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,484评论 0 9
  • 百媚千娇只一朵,三粗五短挤一堆。 阴差阳错同船渡,色泽鲜妍更味美。 八仙桌上谱同德,貌合神离究是哀。 切切纠葛中心...
    乌鸦一只阅读 168评论 2 2