{"id":9522,"date":"2024-03-14T09:47:28","date_gmt":"2024-03-14T09:47:28","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/"},"modified":"2024-03-20T15:42:18","modified_gmt":"2024-03-20T15:42:18","slug":"how-can-resttemplate-retrieve-a-file-stream","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/","title":{"rendered":"How can RestTemplate retrieve a file stream?"},"content":{"rendered":"<p>When using RestTemplate to retrieve a file stream, you can use ResponseEntity<Resource> to get the file stream. Here is an example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">RestTemplate<\/span> <span class=\"hljs-variable\">restTemplate<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">RestTemplate<\/span>();\r\nResponseEntity&lt;Resource&gt; response = restTemplate.getForEntity(<span class=\"hljs-string\">\"http:\/\/example.com\/file.pdf\"<\/span>, Resource.class);\r\n\r\n<span class=\"hljs-keyword\">try<\/span> (<span class=\"hljs-type\">InputStream<\/span> <span class=\"hljs-variable\">inputStream<\/span> <span class=\"hljs-operator\">=<\/span> response.getBody().getInputStream()) {\r\n    <span class=\"hljs-comment\">\/\/ \u5904\u7406\u6587\u4ef6\u6d41<\/span>\r\n    <span class=\"hljs-comment\">\/\/ \u4f8b\u5982\u4fdd\u5b58\u6587\u4ef6\u5230\u672c\u5730<\/span>\r\n    Files.copy(inputStream, Paths.get(<span class=\"hljs-string\">\"file.pdf\"<\/span>));\r\n} <span class=\"hljs-keyword\">catch<\/span> (IOException e) {\r\n    e.printStackTrace();\r\n}\r\n<\/code><\/pre>\n<p>In the example above, we used RestTemplate to send a GET request to fetch a file stream, and we retrieved the file stream through ResponseEntity<Resource>. We then used the inputStream to handle the file stream, such as saving the file locally. It is important to remember to close the inputStream after handling the file stream to release resources.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When using RestTemplate to retrieve a file stream, you can use ResponseEntity to get the file stream. Here is an example code: RestTemplate restTemplate = new RestTemplate(); ResponseEntity&lt;Resource&gt; response = restTemplate.getForEntity(&#8220;http:\/\/example.com\/file.pdf&#8221;, Resource.class); try (InputStream inputStream = response.getBody().getInputStream()) { \/\/ \u5904\u7406\u6587\u4ef6\u6d41 \/\/ \u4f8b\u5982\u4fdd\u5b58\u6587\u4ef6\u5230\u672c\u5730 Files.copy(inputStream, Paths.get(&#8220;file.pdf&#8221;)); } catch (IOException e) { e.printStackTrace(); } In the example above, [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-9522","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How can RestTemplate retrieve a file stream? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How can RestTemplate retrieve a file stream?\" \/>\n<meta property=\"og:description\" content=\"When using RestTemplate to retrieve a file stream, you can use ResponseEntity to get the file stream. Here is an example code: RestTemplate restTemplate = new RestTemplate(); ResponseEntity&lt;Resource&gt; response = restTemplate.getForEntity(&quot;http:\/\/example.com\/file.pdf&quot;, Resource.class); try (InputStream inputStream = response.getBody().getInputStream()) { \/\/ \u5904\u7406\u6587\u4ef6\u6d41 \/\/ \u4f8b\u5982\u4fdd\u5b58\u6587\u4ef6\u5230\u672c\u5730 Files.copy(inputStream, Paths.get(&quot;file.pdf&quot;)); } catch (IOException e) { e.printStackTrace(); } In the example above, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T09:47:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-20T15:42:18+00:00\" \/>\n<meta name=\"author\" content=\"Liam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Liam\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/\"},\"author\":{\"name\":\"Liam\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671\"},\"headline\":\"How can RestTemplate retrieve a file stream?\",\"datePublished\":\"2024-03-14T09:47:28+00:00\",\"dateModified\":\"2024-03-20T15:42:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/\"},\"wordCount\":87,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/\",\"name\":\"How can RestTemplate retrieve a file stream? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T09:47:28+00:00\",\"dateModified\":\"2024-03-20T15:42:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How can RestTemplate retrieve a file stream?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671\",\"name\":\"Liam\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"caption\":\"Liam\"},\"sameAs\":[\"http:\/\/Wilson\"],\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How can RestTemplate retrieve a file stream? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/","og_locale":"en_US","og_type":"article","og_title":"How can RestTemplate retrieve a file stream?","og_description":"When using RestTemplate to retrieve a file stream, you can use ResponseEntity to get the file stream. Here is an example code: RestTemplate restTemplate = new RestTemplate(); ResponseEntity&lt;Resource&gt; response = restTemplate.getForEntity(\"http:\/\/example.com\/file.pdf\", Resource.class); try (InputStream inputStream = response.getBody().getInputStream()) { \/\/ \u5904\u7406\u6587\u4ef6\u6d41 \/\/ \u4f8b\u5982\u4fdd\u5b58\u6587\u4ef6\u5230\u672c\u5730 Files.copy(inputStream, Paths.get(\"file.pdf\")); } catch (IOException e) { e.printStackTrace(); } In the example above, [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T09:47:28+00:00","article_modified_time":"2024-03-20T15:42:18+00:00","author":"Liam","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Liam","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/"},"author":{"name":"Liam","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671"},"headline":"How can RestTemplate retrieve a file stream?","datePublished":"2024-03-14T09:47:28+00:00","dateModified":"2024-03-20T15:42:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/"},"wordCount":87,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/","name":"How can RestTemplate retrieve a file stream? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T09:47:28+00:00","dateModified":"2024-03-20T15:42:18+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-resttemplate-retrieve-a-file-stream\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How can RestTemplate retrieve a file stream?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671","name":"Liam","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","caption":"Liam"},"sameAs":["http:\/\/Wilson"],"url":"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/9522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=9522"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/9522\/revisions"}],"predecessor-version":[{"id":42704,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/9522\/revisions\/42704"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=9522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=9522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=9522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}