src/lib/service/upload/upload.service.ts
The Upload Service is provides access to Upload data (files)
Methods |
upload | ||||||||||||
upload(uri: string, files: File[])
|
||||||||||||
Defined in src/lib/service/upload/upload.service.ts:32
|
||||||||||||
Uploads files.
Parameters :
Returns :
Observable<any>
resolved by the response of the upload destination |
import {Inject, Injectable} from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import {Observable} from 'rxjs';
import {UserService} from '../user/user.service';
import {Utils} from '../../util/utils';
import {CoreConfig} from '../../config/core-config';
import {CORE_CONFIG} from '../../config/core-init.tokens';
/**
* The Upload Service is provides access to Upload data (files)
*/
@Injectable({
providedIn: 'root'
})
export class UploadService {
/**
* @ignore
*/
constructor(
@Inject(CORE_CONFIG) public coreConfig: CoreConfig,
private http: HttpClient, private userService: UserService) {
}
/**
* Uploads files.
*
* @param uri Upload destination uri
* @param files Files to be uploaded
* @returns resolved by the response of the upload destination
*/
upload(uri: string, files: File[]): Observable<any> {
const formData = new FormData();
const headers: HttpHeaders = new HttpHeaders({'Accept-Language': this.userService.getCurrentUser().getClientLocale()});
files.forEach(file => formData.append('files[]', file, Utils.encodeFileName(file.name)));
return this.http.post(uri, formData, {headers, withCredentials: this.coreConfig.withCredentials});
}
}