Как правильно использовать FileSaver в angular 5? - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь сохранить файл в файловую систему, используя функцию загрузки файла.Поскольку файл требуется для углового приложения, а не для бэкэнда (rest api - java), я решил сохранить его в приложении внешнего интерфейса, что означает где-то внутри папки assets в угловом приложении.

установить angular-file-saver.

Код шаблона:

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

код компонента:

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 

  }

Есть идеи, как на самом деле сохранить файл в папке?спасибо.

Ответы [ 2 ]

0 голосов
/ 29 июля 2019

для кодирования на другом языке создайте BLOB-объект следующим образом:

var blob = new Blob (["\ ufeff" + csvArray], {type: 'text / csv; charset = utf-8'})

0 голосов
/ 11 ноября 2018

Простой синтаксис:

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

обратите внимание на метод FileSaver.saveAs(), который принимает Blob в качестве параметра.

В вашем случае это может выглядеть так:

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);  
  }

Обратите внимание, что вам также может понадобиться преобразовать изображение в 64-битное и обратно из 64-битного, чтобы сохранить и отобразить его

полный пример можно найти на anguler-file-saver страница npm.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...