Skip to content
This repository has been archived by the owner on Aug 25, 2020. It is now read-only.

Commit

Permalink
feat: UiFileComponent, add [readAs] param
Browse files Browse the repository at this point in the history
  • Loading branch information
navix committed Sep 20, 2018
1 parent 98e2e08 commit 87ae768
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions projects/ui/src/lib/ui-file/ui-file/ui-file.component.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';
import { forkJoin, Observable } from 'rxjs';
import { UiFileSelect } from '../meta';
import { UiFileHolderDirective } from '../ui-file-holder/ui-file-holder.directive';
Expand All @@ -15,6 +15,8 @@ export class UiFileComponent {

@Output() error = new EventEmitter<string>();

@Input() readAs: 'DataURL' | 'Text' | 'ArrayBuffer' | 'BinaryString' = 'DataURL';

constructor(
private holder: UiFileHolderDirective,
private elementRef: ElementRef,
Expand Down Expand Up @@ -50,7 +52,19 @@ export class UiFileComponent {
reader.onerror = () => {
observer.error('Read data error');
};
reader.readAsDataURL(file);
switch (this.readAs) {
case 'DataURL':
reader.readAsDataURL(file);
break;
case 'Text':
reader.readAsText(file);
break;
case 'ArrayBuffer':
reader.readAsArrayBuffer(file);
break;
case 'BinaryString':
reader.readAsBinaryString(file);
}
});
}
}

0 comments on commit 87ae768

Please sign in to comment.