File

src/lib/service/upload/upload.service.ts

Description

The Upload Service is provides access to Upload data (files)

Index

Methods

Methods

upload
upload(uri: string, files: File[])

Uploads files.

Parameters :
Name Type Optional Description
uri string no

Upload destination uri

files File[] no

Files to be uploaded

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});
  }
}

results matching ""

    No results matching ""