Projekt

Obecné

Profil

Stáhnout (985 Bajtů) Statistiky
| Větev: | Tag: | Revize:
1
import {Injectable} from '@angular/core';
2
import {HttpClient, HttpEventType, HttpHeaders} from '@angular/common/http';
3
import {Observable} from 'rxjs';
4
import {QueryResponse} from '../model/QueryResponse';
5
import {Query} from '../model/Query';
6

    
7
const httpOptions = {
8
  headers: new HttpHeaders( {
9
    'Content-Type': 'application/json'
10
  })
11
};
12

    
13
@Injectable({
14
  providedIn: 'root'
15
})
16
export class QueryService {
17

    
18
  backendUrl = 'http://localhost:8080/';
19
  uploadFileUrl = 'upload';
20

    
21
  constructor(private httpClient: HttpClient) {}
22

    
23
  sendQuery(query: Query): Observable<QueryResponse> {
24
    return this.httpClient.post<QueryResponse>(this.backendUrl, query, httpOptions);
25
  }
26

    
27

    
28
  uploadFile(files: File[]): Observable<any> {
29
    const formDate = new FormData();
30
    for (const file of files) {
31
      formDate.append('file', file);
32
    }
33
    return this.httpClient.post(this.backendUrl + this.uploadFileUrl, formDate, {
34
      reportProgress: true,
35
      observe: 'events'
36
    });
37
  }
38
}
(2-2/2)