ng-rest-http
Version:
http client module for Angular [ tested for angular6 ]
38 lines • 6.09 kB
JavaScript
import { Injectable } from '@angular/core';
import { HttpParams, HttpRequest } from '@angular/common/http';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
export class UploadService {
constructor(http) {
this.http = http;
}
// file from event.target.files[0]
uploadFile(url, file) {
const formData = new FormData();
formData.append('upload', file);
const params = new HttpParams();
const options = {
params: params,
reportProgress: true,
};
/*
const options = {
headers: new HttpHeaders().set('Authorization', this.loopBackAuth.accessTokenId),
params: params,
reportProgress: true,
withCredentials: true,
}
*/
const req = new HttpRequest('POST', url, formData, options);
return this.http.request(req); // return event
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: UploadService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: UploadService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: UploadService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1yZXN0LWh0dHAvc3JjL2xpYi91cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsV0FBVyxFQUFhLE1BQU0sc0JBQXNCLENBQUM7OztBQU10RixNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQUcsQ0FBQztJQUV4QyxrQ0FBa0M7SUFDbEMsVUFBVSxDQUFDLEdBQVcsRUFBRSxJQUFVO1FBRWhDLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDaEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUVoQyxNQUFNLE9BQU8sR0FBRztZQUNkLE1BQU0sRUFBRSxNQUFNO1lBQ2QsY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQztRQUVGOzs7Ozs7O1VBT0U7UUFFRixNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZTtJQUNoRCxDQUFDOzhHQTVCVSxhQUFhO2tIQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcywgSHR0cFJlcXVlc3QsIEh0dHBFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVwbG9hZFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XHJcblxyXG4gIC8vIGZpbGUgZnJvbSBldmVudC50YXJnZXQuZmlsZXNbMF1cclxuICB1cGxvYWRGaWxlKHVybDogc3RyaW5nLCBmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZSA8IEh0dHBFdmVudCA8IGFueSA+PiB7XHJcblxyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgndXBsb2FkJywgZmlsZSk7XHJcblxyXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXHJcbiAgICB9O1xyXG5cclxuICAgIC8qXHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQXV0aG9yaXphdGlvbicsIHRoaXMubG9vcEJhY2tBdXRoLmFjY2Vzc1Rva2VuSWQpLFxyXG4gICAgICAgIHBhcmFtczogcGFyYW1zLFxyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcclxuICAgIH1cclxuICAgICovXHJcblxyXG4gICAgY29uc3QgcmVxID0gbmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgdXJsLCBmb3JtRGF0YSwgb3B0aW9ucyk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnJlcXVlc3QocmVxKTsgLy8gcmV0dXJuIGV2ZW50XHJcbiAgfVxyXG59XHJcblxyXG4vKiBpbiB5b3VyIGNvbXBvbmVudFxyXG4vLyBBdCB0aGUgZHJhZyBkcm9wIGFyZWFcclxuICAvLyAoZHJvcCk9XCJvbkRyb3BGaWxlKCRldmVudClcIlxyXG5vbkRyb3BGaWxlKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLnVwbG9hZEZpbGUoZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKTtcclxufVxyXG5cclxuLy8gQXQgdGhlIGRyYWcgZHJvcCBhcmVhXHJcbi8vIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyRmlsZSgkZXZlbnQpXCJcclxub25EcmFnT3ZlckZpbGUoZXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxufVxyXG5cclxuLy8gQXQgdGhlIGZpbGUgaW5wdXQgZWxlbWVudFxyXG4vLyA8aW5wdXQgdHlwZT1cImZpbGVcIiAoY2hhbmdlKT1cInNlbGVjdEZpbGUoJGV2ZW50KVwiIG5hbWU9XCJmaWxlXCIgLz5cclxuc2VsZWN0RmlsZShldmVudCkge1xyXG4gICAgdGhpcy51cGxvYWRGaWxlKGV2ZW50LnRhcmdldC5maWxlcyk7XHJcbn1cclxuXHJcbnVwbG9hZEZpbGUoZmlsZXM6IEZpbGVMaXN0KSB7XHJcbiAgICBpZiAoZmlsZXMubGVuZ3RoID09IDApIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk5vIGZpbGUgc2VsZWN0ZWQhXCIpO1xyXG4gICAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgbGV0IGZpbGU6IEZpbGUgPSBmaWxlc1swXTtcclxuXHJcbiAgICB0aGlzLnVwbG9hZC51cGxvYWRGaWxlKHRoaXMuYXBwQ2ZnLmJhc2VVcmwgKyBcIi9hcGkvZmxhc2gvdXBsb2FkXCIsIGZpbGUpXHJcbiAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIGV2ZW50ID0+IHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGVyY2VudERvbmUgPSBNYXRoLnJvdW5kKDEwMCAqIGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBGaWxlIGlzICR7cGVyY2VudERvbmV9JSBsb2FkZWQuYCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdGaWxlIGlzIGNvbXBsZXRlbHkgbG9hZGVkIScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiVXBsb2FkIEVycm9yOlwiLCBlcnIpO1xyXG4gICAgICAgIH0sICgpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJVcGxvYWQgZG9uZVwiKTtcclxuICAgICAgICB9XHJcbiAgICApXHJcbn1cclxuICAqL1xyXG4iXX0=