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ë¶ÀÐzCÈÑàºg89#èÆBtò5@U$ÜO¼;h·áY´)/ModDate(æöåëL±ù&\)QëzU+Jê¢^A\nñ\ncySx¡ÇøÔ÷×)/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();