通过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

posted on 2019-11-21 21:59  好名字被谁用了  阅读(202)  评论(0编辑  收藏  举报

导航