fctrlx-angular-file-reader
Version:
Angular library that helps convert file (from input[type=file]) to base64/arrayBuffer/text using FileReader API.
67 lines • 4.67 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, ElementRef, EventEmitter, Input, Output, } from '@angular/core';
import { Base } from './Base';
export class FileToBase64 extends Base {
/**
* @param {?} element
*/
constructor(element) {
super(FileToBase64.config.name, element);
this.filesChange = new EventEmitter();
this.onProgress = new EventEmitter();
this.onError = new EventEmitter();
this.onAbort = new EventEmitter();
}
/**
* @param {?} event
* @return {?}
*/
filesChanged(event) {
super.filesChanged(event, FileToBase64.config.method, FileToBase64.config.storeKey);
}
}
FileToBase64.config = {
name: 'fileToBase64',
method: 'readAsDataURL',
storeKey: 'base64',
};
FileToBase64.decorators = [
{ type: Directive, args: [{
selector: '[fileToBase64]',
},] }
];
/** @nocollapse */
FileToBase64.ctorParameters = () => [
{ type: ElementRef }
];
FileToBase64.propDecorators = {
files: [{ type: Input }],
type: [{ type: Input }],
multiple: [{ type: Input }],
filesChange: [{ type: Output }],
onProgress: [{ type: Output }],
onError: [{ type: Output }],
onAbort: [{ type: Output }]
};
if (false) {
/** @type {?} */
FileToBase64.config;
/** @type {?} */
FileToBase64.prototype.files;
/** @type {?} */
FileToBase64.prototype.type;
/** @type {?} */
FileToBase64.prototype.multiple;
/** @type {?} */
FileToBase64.prototype.filesChange;
/** @type {?} */
FileToBase64.prototype.onProgress;
/** @type {?} */
FileToBase64.prototype.onError;
/** @type {?} */
FileToBase64.prototype.onAbort;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10by1iYXNlNjQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mY3RybHgtYW5ndWxhci1maWxlLXJlYWRlci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2ZpbGUtdG8tYmFzZTY0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBTTlCLE1BQU0sT0FBTyxZQUFhLFNBQVEsSUFBSTs7OztJQWdCcEMsWUFBWSxPQUFtQjtRQUM3QixLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFaakMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkQsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hELFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVUxRCxDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEYsQ0FBQzs7QUFaZSxtQkFBTSxHQUFvQjtJQUN4QyxJQUFJLEVBQUUsY0FBYztJQUNwQixNQUFNLEVBQUUsZUFBZTtJQUN2QixRQUFRLEVBQUUsUUFBUTtDQUNuQixDQUFDOztZQWpCSCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjthQUMzQjs7OztZQVZDLFVBQVU7OztvQkFZVCxLQUFLO21CQUNMLEtBQUs7dUJBQ0wsS0FBSzswQkFFTCxNQUFNO3lCQUNOLE1BQU07c0JBQ04sTUFBTTtzQkFDTixNQUFNOzs7O0lBRVAsb0JBSUU7O0lBYkYsNkJBQW9COztJQUNwQiw0QkFBc0I7O0lBQ3RCLGdDQUF1RDs7SUFFdkQsbUNBQThEOztJQUM5RCxrQ0FBNkQ7O0lBQzdELCtCQUEwRDs7SUFDMUQsK0JBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4vQmFzZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGlyZWN0aXZlLWNvbmZpZyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmaWxlVG9CYXNlNjRdJyxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVRvQmFzZTY0IGV4dGVuZHMgQmFzZSB7XG4gIEBJbnB1dCgpIGZpbGVzOiBhbnk7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcbiAgQElucHV0KCkgbXVsdGlwbGU6IHVuZGVmaW5lZCB8IG51bGwgfCBzdHJpbmcgfCBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBmaWxlc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvblByb2dyZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uRXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25BYm9ydDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgc3RhdGljIHJlYWRvbmx5IGNvbmZpZzogRGlyZWN0aXZlQ29uZmlnID0ge1xuICAgIG5hbWU6ICdmaWxlVG9CYXNlNjQnLFxuICAgIG1ldGhvZDogJ3JlYWRBc0RhdGFVUkwnLFxuICAgIHN0b3JlS2V5OiAnYmFzZTY0JyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoRmlsZVRvQmFzZTY0LmNvbmZpZy5uYW1lLCBlbGVtZW50KTtcbiAgfVxuXG4gIGZpbGVzQ2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBzdXBlci5maWxlc0NoYW5nZWQoZXZlbnQsIEZpbGVUb0Jhc2U2NC5jb25maWcubWV0aG9kLCBGaWxlVG9CYXNlNjQuY29uZmlnLnN0b3JlS2V5KTtcbiAgfVxufVxuIl19