• http接口返回文件 服务端和客户端


    服务端:

        @RequestMapping(value = "/lsj", method = {RequestMethod.POST, RequestMethod.GET}, produces = {"text/plain;charset=UTF-8"})
        @ResponseBody
        public String searchLsjDzzz(String jsonStr,HttpServletResponse httpServletResponse) {
            byte[] dzzz = null;
            //下载PDF
            httpServletResponse.setHeader("Content-Disposition", "attachment;Filename=" + UUID.randomUUID()+".pdf");
            OutputStream outputStream = httpServletResponse.getOutputStream();
            outputStream.write(dzzz);
            outputStream.close();
    
            return "";
        }

    客户端:

        public byte[] requestByGetToByte(String url,String charset){
            if (url == null || "".equals(url))
            {
                log.error("request url is empty.");
                return null;
            }
            HttpClient httpClient = CustomHttpClient.GetHttpClient();
            HttpGet get = new HttpGet(url);
            get.setHeader("Content-Type", "text/html;charset="+charset);
            HttpResponse resp = null;
            try
            {
                // 发起交易
                resp = httpClient.execute(get);
                // 响应分析
                HttpEntity entity = resp.getEntity();
                byte[] bytes= EntityUtils.toByteArray(entity);
    
                return bytes;
            } catch (ConnectTimeoutException cte){
                log.error(cte.getMessage(), cte);
                return null;
            } catch (SocketTimeoutException cte){
                log.error(cte.getMessage(), cte);
                return null;
            } catch (Exception e){
                log.error(e.getMessage(), e);
                return null;
            }finally{
                try {
                    if(resp!=null){
                        resp.getEntity().getContent().close();
                    }
                } catch (IllegalStateException e) {
                    log.error(e.getMessage(), e);
                } catch (IOException e) {
                    log.error(e.getMessage(), e);
                }
            }
        }
  • 相关阅读:
    2013总结,新的征程开始了!
    NOIP2015滚粗记
    HelloWorld!
    For the strivers ——
    【DP】最长公共子序列
    【DP】青蛙过河
    【DP+拓扑】关键子工程
    【线段树+向量】POJ 2991 Crane
    【线段树】POJ3225 Help with intervals
    【数学】test20170311
  • 原文地址:https://www.cnblogs.com/zuferj115/p/7580664.html
Copyright © 2020-2023  润新知