Вам нужно сохранить файл CSV в папке src/app/assets
и загрузить его по HTTP-запросу get. Для этого
- Скопируйте ваш файл
data.csv
(data.csv - имя примера) в src/app/assets
папку - В вашем
angular.json
добавьте { "glob": "data.csv", "input": "./", "output": "./assets/" }
в массиве assets. Это должно выглядеть следующим образом:
"assets": [
"src/favicon.ico",
"src/assets",
{ "glob": "data.csv", "input": "./", "output": "./assets/" }
],
Теперь запустите ng serve
и в вашем браузере http://localhost: ссылка 4200 / assets / data.csv загрузит data.csv файл.
Добавить HTTP-клиент в ваше приложение в соответствии с do c https://angular.io/guide/http
В вашем классе обслуживания HTTP вы должны установить заголовки для получения файла CSV. Он должен выглядеть следующим образом:
fetchCSV(): Observable<ArrayBuffer> {
let headers = new HttpHeaders();
const options: {
headers?: HttpHeaders;
observe?: 'body';
params?: HttpParams;
reportProgress?: boolean;
responseType: 'arraybuffer';
withCredentials?: boolean;
} = {
responseType: 'arraybuffer'
};
return this.http
.get('http://localhost:4200/assets/data.csv', options)
.pipe(
map((file: ArrayBuffer) => {
return file;
})
);
}
и метод вызова из контроллеров onInit
this.httpService.fetchCSV().subscribe((data: any) => {
const blob = new Blob([data], { type: 'application/octet-stream' });
const fileName = 'data.csv';
saveAs(blob, fileName); // save file from blob
})
Обратите внимание, что this.httpService
необходимо создать на шаге 3 .