mirror of
https://github.com/Polaris-Entertainment/bytefy.git
synced 2026-04-11 10:29:37 +00:00
42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
import { map, Observable } from 'rxjs';
|
|
import { environment } from '../../../environments/environment';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class ImageService {
|
|
private baseUrl = environment.uploadServiceBaseUrl;
|
|
|
|
constructor(private http: HttpClient) { }
|
|
|
|
convertImage(image: File, format: string): Observable<any> {
|
|
const formData = new FormData();
|
|
formData.append('file', image);
|
|
|
|
let imgToken = localStorage.getItem('imgToken');
|
|
|
|
const headers = new HttpHeaders({
|
|
'2311d8d8-607d-4747-8939-1bde65643254': imgToken!
|
|
});
|
|
|
|
return this.http.post(`${this.baseUrl}/convert/${format}`, formData, { headers, responseType: 'blob' }); }
|
|
|
|
setAntiforgeryToken(): Observable<string> {
|
|
return this.http.get<string>(`${this.baseUrl}/antiforgery/token`, { responseType: 'text' as 'json' }).pipe(
|
|
map((token) => {
|
|
localStorage.setItem('imgToken', token.replace('"', ''));
|
|
return token;
|
|
})
|
|
);
|
|
}
|
|
|
|
getMimeType(simpleType: string): Observable<string> {
|
|
return this.http.get<string>(`${this.baseUrl}/mimetype/${simpleType}`, { responseType: 'text' as 'json' });
|
|
}
|
|
|
|
getFormats(): Observable<string[]> {
|
|
return this.http.get<string[]>(`${this.baseUrl}/formats`);
|
|
}
|
|
} |