前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >http请求下载

http请求下载

作者头像
Dream城堡
发布2022-05-10 10:40:50
5450
发布2022-05-10 10:40:50
举报
文章被收录于专栏:Spring相关Spring相关
代码语言:javascript
复制
@ApiOperation(value = "二维码http方式下载", notes = "二维码http方式下载", httpMethod = "GET")
    @RequestMapping(value = "qrCode/download/{url}", method = RequestMethod.GET)
    public void fileHttpDownload(HttpServletResponse response, @PathVariable("url") String url){
        String fileName = StringUtils.substringAfterLast(url, "/")+ ".png";
        CloseableHttpClient httpclient = HttpClients.createDefault();
        try {
            HttpGet httpGet = new HttpGet(url);
            CloseableHttpResponse closeableHttpResponse = httpclient.execute(httpGet);
            try {
                System.out.println(closeableHttpResponse.getStatusLine());
                HttpEntity httpEntity = closeableHttpResponse.getEntity();
                long contentLength = httpEntity.getContentLength();
                InputStream is = httpEntity.getContent();
                response.setContentType("multipart/form-data");
                response.setHeader("Content-Disposition", "attachment;fileName="+fileName);
                ServletOutputStream output = response.getOutputStream();
                byte[] buffer = new byte[4096];
                int r = 0;
                long totalRead = 0;
                while ((r = is.read(buffer)) > 0) {
                    output.write(buffer, 0, r);
                }
                output.flush();
                output.close();
                EntityUtils.consume(httpEntity);
            } finally {
                closeableHttpResponse.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                httpclient.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档