Problem with 'Response Headers' values of File in Angular 4





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I have one webservice that returns a pdf file (byte) and the file name in the Response Headers.



I can see the values of 'Response Headers' on Chrome and everyone is there (including the file name). But I can't get this values on Angular becouse the headers value is just "Content-Type:application/pdf".



My Angular Code:



  getPdf(url: string){

http.get(url, {responseType: 'arraybuffer', observe:'response'})
.subscribe(data => {
console.log(data.headers.get('filename')); // print: null
console.log(data.headers.keys()); // print: ["Content-Type"],
downloadFile(data.body);
});
}


Response Headers on browser:



Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:Origin, X-Request-Width, Content-Type, Accept, authCode
Access-Control-Allow-Origin:*
Connection:keep-alive
Content-Disposition:attachment; filename=file.pdf
Content-Type:application/pdf
Date:Mon, 26 Nov 2018 14:23:37 GMT
filename:file.pdf
Server:JBoss-EAP/7
Transfer-Encoding:chunked
X-Powered-By:Undertow/1


Is there something wrong? How can I do this properly?










share|improve this question































    0















    I have one webservice that returns a pdf file (byte) and the file name in the Response Headers.



    I can see the values of 'Response Headers' on Chrome and everyone is there (including the file name). But I can't get this values on Angular becouse the headers value is just "Content-Type:application/pdf".



    My Angular Code:



      getPdf(url: string){

    http.get(url, {responseType: 'arraybuffer', observe:'response'})
    .subscribe(data => {
    console.log(data.headers.get('filename')); // print: null
    console.log(data.headers.keys()); // print: ["Content-Type"],
    downloadFile(data.body);
    });
    }


    Response Headers on browser:



    Access-Control-Allow-Credentials:true
    Access-Control-Allow-Headers:Origin, X-Request-Width, Content-Type, Accept, authCode
    Access-Control-Allow-Origin:*
    Connection:keep-alive
    Content-Disposition:attachment; filename=file.pdf
    Content-Type:application/pdf
    Date:Mon, 26 Nov 2018 14:23:37 GMT
    filename:file.pdf
    Server:JBoss-EAP/7
    Transfer-Encoding:chunked
    X-Powered-By:Undertow/1


    Is there something wrong? How can I do this properly?










    share|improve this question



























      0












      0








      0








      I have one webservice that returns a pdf file (byte) and the file name in the Response Headers.



      I can see the values of 'Response Headers' on Chrome and everyone is there (including the file name). But I can't get this values on Angular becouse the headers value is just "Content-Type:application/pdf".



      My Angular Code:



        getPdf(url: string){

      http.get(url, {responseType: 'arraybuffer', observe:'response'})
      .subscribe(data => {
      console.log(data.headers.get('filename')); // print: null
      console.log(data.headers.keys()); // print: ["Content-Type"],
      downloadFile(data.body);
      });
      }


      Response Headers on browser:



      Access-Control-Allow-Credentials:true
      Access-Control-Allow-Headers:Origin, X-Request-Width, Content-Type, Accept, authCode
      Access-Control-Allow-Origin:*
      Connection:keep-alive
      Content-Disposition:attachment; filename=file.pdf
      Content-Type:application/pdf
      Date:Mon, 26 Nov 2018 14:23:37 GMT
      filename:file.pdf
      Server:JBoss-EAP/7
      Transfer-Encoding:chunked
      X-Powered-By:Undertow/1


      Is there something wrong? How can I do this properly?










      share|improve this question
















      I have one webservice that returns a pdf file (byte) and the file name in the Response Headers.



      I can see the values of 'Response Headers' on Chrome and everyone is there (including the file name). But I can't get this values on Angular becouse the headers value is just "Content-Type:application/pdf".



      My Angular Code:



        getPdf(url: string){

      http.get(url, {responseType: 'arraybuffer', observe:'response'})
      .subscribe(data => {
      console.log(data.headers.get('filename')); // print: null
      console.log(data.headers.keys()); // print: ["Content-Type"],
      downloadFile(data.body);
      });
      }


      Response Headers on browser:



      Access-Control-Allow-Credentials:true
      Access-Control-Allow-Headers:Origin, X-Request-Width, Content-Type, Accept, authCode
      Access-Control-Allow-Origin:*
      Connection:keep-alive
      Content-Disposition:attachment; filename=file.pdf
      Content-Type:application/pdf
      Date:Mon, 26 Nov 2018 14:23:37 GMT
      filename:file.pdf
      Server:JBoss-EAP/7
      Transfer-Encoding:chunked
      X-Powered-By:Undertow/1


      Is there something wrong? How can I do this properly?







      angular rest http response-headers






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 26 '18 at 15:56







      Victor Soares

















      asked Nov 26 '18 at 15:44









      Victor SoaresVictor Soares

      409




      409
























          1 Answer
          1






          active

          oldest

          votes


















          0














          I solve my problem using the 'Access-Control-Expose-Headers' on my webservice.



          My java webservice:



              protected Response buildFile(Status status, byte file, String nomeArquivo) {
          return Response.status(status)
          .entity(file)
          .header("Access-Control-Allow-Credentials", "true")
          .header("Access-Control-Expose-Headers", "Content-Disposition, filename")
          .header("Content-Type", "application/pdf")
          .header("Content-Disposition", "attachment; filename="+ nomeArquivo)
          .header("filename", nomeArquivo)
          .build();
          }


          More info:
          How to get the name of a file downloaded with Angular5






          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53484626%2fproblem-with-response-headers-values-of-file-in-angular-4%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            I solve my problem using the 'Access-Control-Expose-Headers' on my webservice.



            My java webservice:



                protected Response buildFile(Status status, byte file, String nomeArquivo) {
            return Response.status(status)
            .entity(file)
            .header("Access-Control-Allow-Credentials", "true")
            .header("Access-Control-Expose-Headers", "Content-Disposition, filename")
            .header("Content-Type", "application/pdf")
            .header("Content-Disposition", "attachment; filename="+ nomeArquivo)
            .header("filename", nomeArquivo)
            .build();
            }


            More info:
            How to get the name of a file downloaded with Angular5






            share|improve this answer




























              0














              I solve my problem using the 'Access-Control-Expose-Headers' on my webservice.



              My java webservice:



                  protected Response buildFile(Status status, byte file, String nomeArquivo) {
              return Response.status(status)
              .entity(file)
              .header("Access-Control-Allow-Credentials", "true")
              .header("Access-Control-Expose-Headers", "Content-Disposition, filename")
              .header("Content-Type", "application/pdf")
              .header("Content-Disposition", "attachment; filename="+ nomeArquivo)
              .header("filename", nomeArquivo)
              .build();
              }


              More info:
              How to get the name of a file downloaded with Angular5






              share|improve this answer


























                0












                0








                0







                I solve my problem using the 'Access-Control-Expose-Headers' on my webservice.



                My java webservice:



                    protected Response buildFile(Status status, byte file, String nomeArquivo) {
                return Response.status(status)
                .entity(file)
                .header("Access-Control-Allow-Credentials", "true")
                .header("Access-Control-Expose-Headers", "Content-Disposition, filename")
                .header("Content-Type", "application/pdf")
                .header("Content-Disposition", "attachment; filename="+ nomeArquivo)
                .header("filename", nomeArquivo)
                .build();
                }


                More info:
                How to get the name of a file downloaded with Angular5






                share|improve this answer













                I solve my problem using the 'Access-Control-Expose-Headers' on my webservice.



                My java webservice:



                    protected Response buildFile(Status status, byte file, String nomeArquivo) {
                return Response.status(status)
                .entity(file)
                .header("Access-Control-Allow-Credentials", "true")
                .header("Access-Control-Expose-Headers", "Content-Disposition, filename")
                .header("Content-Type", "application/pdf")
                .header("Content-Disposition", "attachment; filename="+ nomeArquivo)
                .header("filename", nomeArquivo)
                .build();
                }


                More info:
                How to get the name of a file downloaded with Angular5







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 26 '18 at 20:04









                Victor SoaresVictor Soares

                409




                409
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53484626%2fproblem-with-response-headers-values-of-file-in-angular-4%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Tonle Sap (See)

                    I get strange results when I access the Sqlitedatabase with Unity C# via XAMPP

                    Guatemaltekische Davis-Cup-Mannschaft