本文共 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/