蜗居的地主 2020-09-25 22:03 采纳率: 0%
浏览 580

RestTemplate请求返回PDF如何保存到本地

springboot搭了个项目,请求电子PDF文件

        RestTemplate client = new RestTemplate();
                String url = "接口地址";
        ResponseEntity response = client.postForEntity(url, requertXml, String.class);
        String rs = response.getBody().toString();
        System.out.println(rs);

        BufferedOutputStream bos = null;
        FileOutputStream fos = null;

        try {
            fos = new FileOutputStream("G:\\temp\\111.pdf");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        bos = new BufferedOutputStream(fos);

        try {
            bos.write(rs.getBytes());
            bos.close();
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

rs是下面这样的,pdf打不开,说是损坏了,请问要怎么才能转成pdf文件

%PDF-1.4
%âãÏÓ
1 0 obj
<</Producer(æöåëL­±ù&\)QëÝ4:aɔ¤§x½{e½\\Û«ªØμ0d§BO"Üb¨LL\\l\tváVl9-°Jäbß0äɎ¦åAXòx¯þØ °Kë¶ÀÐz‡CÈђ­à‹ºg89#èÆBtò5@U$ÜO¼;h·áY´)/ModDate(æöåëL­±ù&\)QëzU+Jê¢^A\n‚ñ\ncyˆSx¡ŠÇ‹øԃ÷‹×)/CreationDate(æöåëL­±ù&\)Q롬œm¦ØznAí4¸Iwÿì±S“ù›î*{ۜšx\\ï)>>
endobj
2 0 obj
<</Type/XObject/Resources<</ProcSet[/PDF/Text/ImageB/ImageC/ImageI]/XObject<</img1 3 0 R/img0 4 0 R>>>>/Subtype/Form/BBox[0 0 127 86]/Matrix[1 0 0 1 0 0]/Length 64/FormType 1/Filter/FlateDecode>>stream
ähz‹Ÿ@ßw·*ÞàÒh2s×úUù¶z€û÷EQÚ·¯Ç@Þ   Û_}qÏ>bx¶.9æ!"Çö

trailer
<</Root 59 0 R/Prev 548069/ID [<17e73f673b8c9ec03dd54ad7b2d26a39><aa37e40b3fc5f15a1834d45d4a77c051>]/Encrypt 60 0 R/Info 1 0 R/Size 70>>
%iText-5.5.1
startxref
568719
%%EOF

改成下面这样解决了


        final String APPLICATION_PDF = "application/pdf";
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_PDF);
        HttpEntity<String> entity = new HttpEntity<String>(requertXml, headers);

        ResponseEntity<byte[]> response = restTemplate.exchange(
                url,
                HttpMethod.POST,
                entity,
                byte[].class);

        byte[] result = response.getBody();

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-09-25 23:26
    关注

    看到这样的文件头 %PDF-1.4
    就说明你的字节流就是pdf了
    设置下content-type看看,把下载的文件另存为修改后缀为pdf

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?