服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 从Springboot项目中下载文件的具体过程

从Springboot项目中下载文件的具体过程

2021-10-25 10:53文字跳动 Java教程

最近在做一个临时的项目,APP端在检测到程序有更新时,需要去后台下载新的安装包,接下来通过本文给大家分享从Springboot项目中下载文件的具体过程,感兴趣的朋友一起看看吧

最近在做一个临时的项目,APP端在检测到程序有更新时,需要去后台下载新的安装包。具体过程如下:

controller层:

?
1
2
3
4
5
6
7
8
9
10
11
/**
    * 下载app
    * @param response
    */
   @RequestMapping("downApp")
   @ResponseBody
   public void Download(HttpServletResponse response) {
       String fileName ="wuye.apk";
       String result = FileUtil.downloadFile(response, fileName);
       log.info("app包下载结果:",result);
   }

工具类:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class FileUtil {
 
    public static String downloadFile(HttpServletResponse response, String fileName) {
        File path =null;
        response.setHeader("content-type","application/octet-stream");
        response.setContentType("application/octet-stream");
        try {
            response.setHeader("Content-Disposition","attachment;filename=" + java.net.URLEncoder.encode(fileName,"UTF-8"));
        }catch (UnsupportedEncodingException e2) {
            e2.printStackTrace();
        }
        byte[] buff =new byte[1024];
        BufferedInputStream bis =null;
        OutputStream os =null;
        try {
            path =new File(ResourceUtils.getURL("classpath:").getPath());
            os = response.getOutputStream();
            bis =new BufferedInputStream(new FileInputStream(new File(path +"/doc/" + fileName)));
            int i = bis.read(buff);
            while (i != -1) {
                os.write(buff,0, buff.length);
                os.flush();
                i = bis.read(buff);
            }
        }catch (FileNotFoundException e1) {
            //e1.getMessage()+"系统找不到指定的文件";
            return "系统找不到指定的文件";
        }catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (bis !=null) {
                try {
                    bis.close();
                }catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return "success";
    }

访问:http://127.0.0.1:8081/ymd/downApp 文件就下载下来了,本方法借鉴了 网络上的一些文章

到此这篇关于从Springboot项目中下载文件的文章就介绍到这了,更多相关Springboot项目下载文件内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/shenziyang/p/12510731.html

延伸 · 阅读

精彩推荐