Я хочу разрешить посетителю загружать CSV-файл с сервера с помощью Angular 7.
Я видел несколько веб-сайтов, но большинство из них объясняют динамическое создание CSV-файла из данных и использование создания больших двоичных объектов, а не загрузку папки. Но у меня уже есть файл CSV на сервере, и я хочу загрузить его со стороны сервера на сторону клиента.
1 ответ
Для сохранения файла вы можете использовать такой пакет, как file-saver:
npm install file-saver --save
import { saveAs } from 'file-saver/FileSaver';
Ваша функция может быть такой:
downloadCSV(data: any) {
const blobData = new Blob([data], { type: 'text/csv' });
const url = window.URL.createObjectURL(blobData);
saveAs(blobData, "file_name.csv");
return window.open(url);
}
Чтобы загрузить файл, используйте arraybuffer::
getFile() {
this.httpClient.get(url, {responseType: 'arraybuffer',headers:headers})
.subscribe(
(data) => this.downloadCSV(data),
(error) => // Handle error)
);
}
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.