ddc-image-upload
Version:
Dusdusan Image Upload
35 lines (27 loc) • 1.06 kB
text/typescript
import { Injectable } from '@angular/core';
import { Headers, Http, RequestOptions, RequestOptionsArgs, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
()
export class ImageService {
constructor(private http: Http) {
}
public postImage(url: string, image: File, headers?: Headers | { [name: string]: any }, partName: string = 'image', customFormData?: { [name: string]: any }, withCredentials?: boolean): Observable<Response> {
if (!url || url === '') {
throw new Error('Url is not set! Please set it before doing queries');
}
const options: RequestOptionsArgs = new RequestOptions();
if (withCredentials) {
options.withCredentials = withCredentials;
}
if (headers) {
options.headers = new Headers(headers);
}
// add custom form data
let formData = new FormData();
for (let key in customFormData) {
formData.append(key, customFormData[key]);
}
formData.append(partName, image);
return this.http.post(url, formData, options);
}
}