ngx-image-upload
Version:
Angular 6 image upload.
53 lines (52 loc) • 4.22 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
export class NgxImageUploadService {
/**
* @param {?} http
*/
constructor(http) {
this.http = http;
}
/**
* @param {?} url
* @param {?} image
* @param {?=} headers
* @param {?=} partName
* @param {?=} customFormData
* @param {?=} withCredentials
* @return {?}
*/
postImage(url, image, headers, partName = 'image', customFormData, withCredentials) {
if (!url || url === '') {
throw new Error('请设置url参数');
}
// add custom form data
let /** @type {?} */ formData = new FormData();
for (let /** @type {?} */ key in customFormData) {
formData.append(key, customFormData[key]);
}
formData.append(partName, image);
return this.http.post(url, formData, { headers: headers, withCredentials: withCredentials });
}
}
NgxImageUploadService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] },
];
/** @nocollapse */
NgxImageUploadService.ctorParameters = () => [
{ type: HttpClient }
];
/** @nocollapse */ NgxImageUploadService.ngInjectableDef = i0.defineInjectable({ factory: function NgxImageUploadService_Factory() { return new NgxImageUploadService(i0.inject(i1.HttpClient)); }, token: NgxImageUploadService, providedIn: "root" });
function NgxImageUploadService_tsickle_Closure_declarations() {
/** @type {?} */
NgxImageUploadService.prototype.http;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWltYWdlLXVwbG9hZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWltYWdlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtaW1hZ2UtdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTTs7OztJQUNKLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7S0FDbkM7Ozs7Ozs7Ozs7SUFFTSxTQUFTLENBQUMsR0FBVyxFQUFFLEtBQVcsRUFBRSxPQUErQyxFQUFFLFdBQW1CLE9BQU8sRUFBRSxjQUF3QyxFQUFFLGVBQXlCO1FBQ3pMLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0I7O1FBR0QscUJBQUksUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDOUIsR0FBRyxDQUFDLENBQUMscUJBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDM0M7UUFDRCxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7Ozs7WUFsQmhHLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQU5RLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd4SW1hZ2VVcGxvYWRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gIH1cblxuICBwdWJsaWMgcG9zdEltYWdlKHVybDogc3RyaW5nLCBpbWFnZTogRmlsZSwgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwgeyBbbmFtZTogc3RyaW5nXTogYW55IH0sIHBhcnROYW1lOiBzdHJpbmcgPSAnaW1hZ2UnLCBjdXN0b21Gb3JtRGF0YT86IHsgW25hbWU6IHN0cmluZ106IGFueSB9LCB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXVybCB8fCB1cmwgPT09ICcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ+ivt+iuvue9rnVybOWPguaVsCcpO1xuICAgIH1cblxuICAgIC8vIGFkZCBjdXN0b20gZm9ybSBkYXRhXG4gICAgbGV0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9yIChsZXQga2V5IGluIGN1c3RvbUZvcm1EYXRhKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LCBjdXN0b21Gb3JtRGF0YVtrZXldKTtcbiAgICB9XG4gICAgZm9ybURhdGEuYXBwZW5kKHBhcnROYW1lLCBpbWFnZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZm9ybURhdGEsIHsgaGVhZGVyczogaGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiB3aXRoQ3JlZGVudGlhbHMgfSk7XG4gIH1cbn1cbiJdfQ==