import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable, throwError } from 'rxjs';
import { catchError, map } from 'rxjs/operators';
@Injectable({
providedIn: 'root'
})
export class FileUploadService {
constructor(private httpClient: HttpClient) { }
postFile(fileToUpload: File): Observable<boolean> {
const endpoint = 'your-destination-url'; // Replace with your backend endpoint
const formData: FormData = new FormData();
formData.append('fileKey', fileToUpload, fileToUpload.name);
return this.httpClient
.post(endpoint, formData, { headers: this.getHeaders() })
.pipe(
map(() => true),
catchError(this.handleError)
);
}
private getHeaders(): HttpHeaders {
return new HttpHeaders();
}
private handleError(error: any) {
console.error('An error occurred:', error);
return throwError('Error uploading file. Please try again.');
}
}