Angular 7 Ionic 4 NodeJS - как получить доступ к файлам, сохраненным в узле на веб-интерфейсе - PullRequest
0 голосов
/ 20 июня 2019

Справочная информация: у меня был модуль, который отлично работал в AngularJS, где он запускал несколько проверок и, если все проверки пройдены, сохранял файл Excel в папку public / exports для загрузки.

Я мог бызатем разрешите пользователю загрузить этот файл во внешнем интерфейсе, передав ссылку для скачивания.

so ...

узел:

  var xls = json2xls(results, {});
  var today = new Date().toDateString('yyyy-mm-dd');
  var str = today.replace(/\s/g, '');
  var fileName = 'RegistrationList_' + str + '.xlsx';
  // console.log(fileName);
  var file = fs.writeFileSync(
    './public/exports/' + fileName,
    xls,
    'binary'
  );
  res.status(200).json({ results: results });

В HTML-файле AngularJS:Я хотел бы скачать его так:

<a class="btn btn-success" href="exports/{{vm.poolsheets}}" download>Save Pool Sheets</a> 

В Angular 7 / Ionic 4 мой файл module.ts:

//take the results from the backend to display download link
this.adminService.exportRegistrations(searchParams).subscribe(
  data => {
    this.results = data;
    console.log('Results', this.results);
    this.exportMessage = 'Found ' + this.results.length + ' registrations.';
    const today = new Date().toDateString();
    const str = today.replace(/\s/g, '');
    const poolsheets = 'PoolSheetData_' + str + '.xlsx';
    const reglist = 'RegistrationList_' + str + '.xlsx';
    const signinsheets = 'SigninSheetData_' + str + '.xlsx';
  },
  error => {
    console.log(error.error.exportError);
    this.exportError = error.error.exportError;
    this.results = error.error.results;
    console.log('error message', error.error.exportError);
    console.log('error results', error.error.results);
    if (error.error.x) {
      this.x = true;
    }
  }
);

Мой HTML-файл:

<ion-button ion-button href="/exports/{{ poolsheets }}" download [hidden]="exportError">Save Pool Sheets</ion-button>

Я вижу, как файл сохраняется в public / exports / на моем локальном компьютере И на моем сервере, но я не могу загрузить его в приложении Angular 7 / Ionic 4.

Как загрузить эти данные?

...