通过url 下载文件
public static void FileDownload(String name,String url,HttpServletResponse response) { // 统一资源 URL url1= null; try { url1 = new URL(url); // 连接类的父类,抽象类 URLConnection conn = url1.openConnection(); // http的连接类 HttpURLConnection httpURLConnection = (HttpURLConnection) conn; //设置请求方式,默认是GET httpURLConnection.setRequestMethod("GET"); // 设置字符编码 httpURLConnection.setRequestProperty("Charset", "UTF-8"); // 打开到此 URL引用的资源的通信链接(如果尚未建立这样的连接) httpURLConnection.connect(); // 建立链接从请求中获取数据 BufferedInputStream bin = new BufferedInputStream(httpURLConnection.getInputStream()); //弹窗保存路径 response.addHeader("Content-Disposition","attachment;filename="+ name+".pdf"); response.setContentType("application/octet-stream"); OutputStream out = response.getOutputStream(); int size = 0; long len = 0; byte[] buf = new byte[2048]; while ((size = bin.read(buf)) != -1){ len += size; out.write(buf,0,size); } //关闭资源 bin.close(); out.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (ProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
1