博客
关于我
java后台通过http请求下载文件
阅读量:809 次
发布时间:2023-01-28

本文共 1844 字,大约阅读时间需要 6 分钟。

 java后台通过http请求下载文件,直接反馈给前端

public void downLoad(HttpServletResponse response,String HTTP_URL, String filename) {	        BufferedInputStream bis = null;	        BufferedOutputStream bos = null;	        try {	            URL url = new URL(HTTP_URL);	            HttpURLConnection connection = (HttpURLConnection)url.openConnection();	            connection.setRequestMethod("GET");	            connection.setConnectTimeout(5000);	            connection.setReadTimeout(6000);	            connection.connect();	            int responseCode = connection.getResponseCode();	            System.out.println("responseCode=" + responseCode);	            if (responseCode == 200) {	                InputStream is = connection.getInputStream();	                bis = new BufferedInputStream(is);	                response.reset();	                response.setContentType("application/x-msdownload");	                response.setHeader("Content-Disposition", "attachment;filename=".concat(new String(filename.getBytes("GBK"), "ISO-8859-1")));	                OutputStream fos = response.getOutputStream();	                bos = new BufferedOutputStream(fos);	                boolean b = false;	                byte[] byArr = new byte[1024];	                int b1;	                while((b1 = bis.read(byArr)) != -1) {	                    bos.write(byArr, 0, b1);	                }	                bos.flush();	            }	            connection.disconnect();	        } catch (Exception var21) {	            var21.printStackTrace();	        } finally {	            try {	                if (bis != null) {	                    bis.close();	                }	                if (bos != null) {	                    bos.close();	                }	            } catch (IOException var20) {	                var20.printStackTrace();	            }	        }	    }

 

转载地址:http://tsryk.baihongyu.com/

你可能感兴趣的文章
m_Orchestrate learning system---二十二、html代码如何变的容易
查看>>
M×N 形状 numpy.ndarray 的滑动窗口
查看>>
m个苹果放入n个盘子问题
查看>>
n = 3 , while n , continue
查看>>
n 叉树后序遍历转换为链表问题的深入探讨
查看>>
N!
查看>>
N-Gram的基本原理
查看>>
n1 c语言程序,全国青少年软件编程等级考试C语言经典程序题10道七
查看>>
Nacos Client常用配置
查看>>
nacos config
查看>>
Nacos Config--服务配置
查看>>
Nacos Derby 远程命令执行漏洞(QVD-2024-26473)
查看>>
Nacos 与 Eureka、Zookeeper 和 Consul 等其他注册中心的区别
查看>>
Nacos 单机集群搭建及常用生产环境配置 | Spring Cloud 3
查看>>
Nacos 启动报错[db-load-error]load jdbc.properties error
查看>>
Nacos 报Statement cancelled due to timeout or client request
查看>>
Nacos 注册服务源码分析
查看>>
Nacos 融合 Spring Cloud,成为注册配置中心
查看>>
Nacos-注册中心
查看>>
Nacos-配置中心
查看>>