How to use FileSaver in angular 5 correctly?











up vote
0
down vote

favorite












I'm trying to save file to file system using file upload functionality.
Since the file is require for the angular app and not for the backend (rest api - java), I decided to save it in the frontend app which means somewhere inside
the assets folder in angular app.



I've install angular-file-saver.



Template code:



<input type="file" name="file-7" id="file-7" class="inputfile inputfile-6" (change)="handleFileInput($event.target.files)">


component code:



import { FileSaver }  from 'angular-file-saver';

handleFileInput(files: FileList) {
this.imageUpload = files.item(0);
this.imageFileName = this.logoToUpload.name;
// how to use FileSaver here ?
//this.imageUpload doesn't have data or something like this

}


Any idea how to actually save the file in a folder ? thanks.










share|improve this question


























    up vote
    0
    down vote

    favorite












    I'm trying to save file to file system using file upload functionality.
    Since the file is require for the angular app and not for the backend (rest api - java), I decided to save it in the frontend app which means somewhere inside
    the assets folder in angular app.



    I've install angular-file-saver.



    Template code:



    <input type="file" name="file-7" id="file-7" class="inputfile inputfile-6" (change)="handleFileInput($event.target.files)">


    component code:



    import { FileSaver }  from 'angular-file-saver';

    handleFileInput(files: FileList) {
    this.imageUpload = files.item(0);
    this.imageFileName = this.logoToUpload.name;
    // how to use FileSaver here ?
    //this.imageUpload doesn't have data or something like this

    }


    Any idea how to actually save the file in a folder ? thanks.










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm trying to save file to file system using file upload functionality.
      Since the file is require for the angular app and not for the backend (rest api - java), I decided to save it in the frontend app which means somewhere inside
      the assets folder in angular app.



      I've install angular-file-saver.



      Template code:



      <input type="file" name="file-7" id="file-7" class="inputfile inputfile-6" (change)="handleFileInput($event.target.files)">


      component code:



      import { FileSaver }  from 'angular-file-saver';

      handleFileInput(files: FileList) {
      this.imageUpload = files.item(0);
      this.imageFileName = this.logoToUpload.name;
      // how to use FileSaver here ?
      //this.imageUpload doesn't have data or something like this

      }


      Any idea how to actually save the file in a folder ? thanks.










      share|improve this question













      I'm trying to save file to file system using file upload functionality.
      Since the file is require for the angular app and not for the backend (rest api - java), I decided to save it in the frontend app which means somewhere inside
      the assets folder in angular app.



      I've install angular-file-saver.



      Template code:



      <input type="file" name="file-7" id="file-7" class="inputfile inputfile-6" (change)="handleFileInput($event.target.files)">


      component code:



      import { FileSaver }  from 'angular-file-saver';

      handleFileInput(files: FileList) {
      this.imageUpload = files.item(0);
      this.imageFileName = this.logoToUpload.name;
      // how to use FileSaver here ?
      //this.imageUpload doesn't have data or something like this

      }


      Any idea how to actually save the file in a folder ? thanks.







      angular file






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 11 at 6:50









      user2304483

      5819




      5819
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          The simple syntax is:



            vm.download = function(text) {
          var data = new Blob([text], { type: 'text/plain;charset=utf-8' });
          FileSaver.saveAs(data, 'text.txt');
          };
          }


          notice the FileSaver.saveAs() method, which accepts Blob as parameter.



          In your case it might look like:



          handleFileInput(files: FileList) {
          this.imageUpload = files.item(0);
          this.imageFileName = this.logoToUpload.name;
          // how to use FileSaver here ?
          var data = new Blob([imageUpload], { //your file type here });
          FileSaver.saveAs(data, this.imageFileName);
          }


          Note, you might as well need to convert the image to 64 bit and back again from 64 bit in order to save and display it



          full example can be found at anguler-file-saver npm page.






          share|improve this answer





















          • The page is not loading when using the code: FileSaver.saveAs(data, this.imageFileName) I've installed FileSaver using "npm install angular-file-saver" but something is wrong here
            – user2304483
            Nov 11 at 7:18










          • Looks like that's an AngularJS library, not Angular
            – user184994
            Nov 11 at 7:23












          • So, should I uninstall it and install something else ?
            – user2304483
            Nov 11 at 7:25






          • 1




            Yep,there's a package called ngx-filesaver that should work for Angular npmjs.com/package/ngx-filesaver
            – user184994
            Nov 11 at 7:28






          • 1




            I need implement POST request then
            – user2304483
            Nov 11 at 8:49











          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',
          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%2f53246489%2fhow-to-use-filesaver-in-angular-5-correctly%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








          up vote
          0
          down vote



          accepted










          The simple syntax is:



            vm.download = function(text) {
          var data = new Blob([text], { type: 'text/plain;charset=utf-8' });
          FileSaver.saveAs(data, 'text.txt');
          };
          }


          notice the FileSaver.saveAs() method, which accepts Blob as parameter.



          In your case it might look like:



          handleFileInput(files: FileList) {
          this.imageUpload = files.item(0);
          this.imageFileName = this.logoToUpload.name;
          // how to use FileSaver here ?
          var data = new Blob([imageUpload], { //your file type here });
          FileSaver.saveAs(data, this.imageFileName);
          }


          Note, you might as well need to convert the image to 64 bit and back again from 64 bit in order to save and display it



          full example can be found at anguler-file-saver npm page.






          share|improve this answer





















          • The page is not loading when using the code: FileSaver.saveAs(data, this.imageFileName) I've installed FileSaver using "npm install angular-file-saver" but something is wrong here
            – user2304483
            Nov 11 at 7:18










          • Looks like that's an AngularJS library, not Angular
            – user184994
            Nov 11 at 7:23












          • So, should I uninstall it and install something else ?
            – user2304483
            Nov 11 at 7:25






          • 1




            Yep,there's a package called ngx-filesaver that should work for Angular npmjs.com/package/ngx-filesaver
            – user184994
            Nov 11 at 7:28






          • 1




            I need implement POST request then
            – user2304483
            Nov 11 at 8:49















          up vote
          0
          down vote



          accepted










          The simple syntax is:



            vm.download = function(text) {
          var data = new Blob([text], { type: 'text/plain;charset=utf-8' });
          FileSaver.saveAs(data, 'text.txt');
          };
          }


          notice the FileSaver.saveAs() method, which accepts Blob as parameter.



          In your case it might look like:



          handleFileInput(files: FileList) {
          this.imageUpload = files.item(0);
          this.imageFileName = this.logoToUpload.name;
          // how to use FileSaver here ?
          var data = new Blob([imageUpload], { //your file type here });
          FileSaver.saveAs(data, this.imageFileName);
          }


          Note, you might as well need to convert the image to 64 bit and back again from 64 bit in order to save and display it



          full example can be found at anguler-file-saver npm page.






          share|improve this answer





















          • The page is not loading when using the code: FileSaver.saveAs(data, this.imageFileName) I've installed FileSaver using "npm install angular-file-saver" but something is wrong here
            – user2304483
            Nov 11 at 7:18










          • Looks like that's an AngularJS library, not Angular
            – user184994
            Nov 11 at 7:23












          • So, should I uninstall it and install something else ?
            – user2304483
            Nov 11 at 7:25






          • 1




            Yep,there's a package called ngx-filesaver that should work for Angular npmjs.com/package/ngx-filesaver
            – user184994
            Nov 11 at 7:28






          • 1




            I need implement POST request then
            – user2304483
            Nov 11 at 8:49













          up vote
          0
          down vote



          accepted







          up vote
          0
          down vote



          accepted






          The simple syntax is:



            vm.download = function(text) {
          var data = new Blob([text], { type: 'text/plain;charset=utf-8' });
          FileSaver.saveAs(data, 'text.txt');
          };
          }


          notice the FileSaver.saveAs() method, which accepts Blob as parameter.



          In your case it might look like:



          handleFileInput(files: FileList) {
          this.imageUpload = files.item(0);
          this.imageFileName = this.logoToUpload.name;
          // how to use FileSaver here ?
          var data = new Blob([imageUpload], { //your file type here });
          FileSaver.saveAs(data, this.imageFileName);
          }


          Note, you might as well need to convert the image to 64 bit and back again from 64 bit in order to save and display it



          full example can be found at anguler-file-saver npm page.






          share|improve this answer












          The simple syntax is:



            vm.download = function(text) {
          var data = new Blob([text], { type: 'text/plain;charset=utf-8' });
          FileSaver.saveAs(data, 'text.txt');
          };
          }


          notice the FileSaver.saveAs() method, which accepts Blob as parameter.



          In your case it might look like:



          handleFileInput(files: FileList) {
          this.imageUpload = files.item(0);
          this.imageFileName = this.logoToUpload.name;
          // how to use FileSaver here ?
          var data = new Blob([imageUpload], { //your file type here });
          FileSaver.saveAs(data, this.imageFileName);
          }


          Note, you might as well need to convert the image to 64 bit and back again from 64 bit in order to save and display it



          full example can be found at anguler-file-saver npm page.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 11 at 7:05









          Barr J

          5,7021930




          5,7021930












          • The page is not loading when using the code: FileSaver.saveAs(data, this.imageFileName) I've installed FileSaver using "npm install angular-file-saver" but something is wrong here
            – user2304483
            Nov 11 at 7:18










          • Looks like that's an AngularJS library, not Angular
            – user184994
            Nov 11 at 7:23












          • So, should I uninstall it and install something else ?
            – user2304483
            Nov 11 at 7:25






          • 1




            Yep,there's a package called ngx-filesaver that should work for Angular npmjs.com/package/ngx-filesaver
            – user184994
            Nov 11 at 7:28






          • 1




            I need implement POST request then
            – user2304483
            Nov 11 at 8:49


















          • The page is not loading when using the code: FileSaver.saveAs(data, this.imageFileName) I've installed FileSaver using "npm install angular-file-saver" but something is wrong here
            – user2304483
            Nov 11 at 7:18










          • Looks like that's an AngularJS library, not Angular
            – user184994
            Nov 11 at 7:23












          • So, should I uninstall it and install something else ?
            – user2304483
            Nov 11 at 7:25






          • 1




            Yep,there's a package called ngx-filesaver that should work for Angular npmjs.com/package/ngx-filesaver
            – user184994
            Nov 11 at 7:28






          • 1




            I need implement POST request then
            – user2304483
            Nov 11 at 8:49
















          The page is not loading when using the code: FileSaver.saveAs(data, this.imageFileName) I've installed FileSaver using "npm install angular-file-saver" but something is wrong here
          – user2304483
          Nov 11 at 7:18




          The page is not loading when using the code: FileSaver.saveAs(data, this.imageFileName) I've installed FileSaver using "npm install angular-file-saver" but something is wrong here
          – user2304483
          Nov 11 at 7:18












          Looks like that's an AngularJS library, not Angular
          – user184994
          Nov 11 at 7:23






          Looks like that's an AngularJS library, not Angular
          – user184994
          Nov 11 at 7:23














          So, should I uninstall it and install something else ?
          – user2304483
          Nov 11 at 7:25




          So, should I uninstall it and install something else ?
          – user2304483
          Nov 11 at 7:25




          1




          1




          Yep,there's a package called ngx-filesaver that should work for Angular npmjs.com/package/ngx-filesaver
          – user184994
          Nov 11 at 7:28




          Yep,there's a package called ngx-filesaver that should work for Angular npmjs.com/package/ngx-filesaver
          – user184994
          Nov 11 at 7:28




          1




          1




          I need implement POST request then
          – user2304483
          Nov 11 at 8:49




          I need implement POST request then
          – user2304483
          Nov 11 at 8:49


















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53246489%2fhow-to-use-filesaver-in-angular-5-correctly%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

          Full-time equivalent

          さくらももこ

          13 indicted, 8 arrested in Calif. drug cartel investigation