Справочная информация: у меня был модуль, который отлично работал в 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.
Как загрузить эти данные?