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

Commit 87ae768

Browse files
committed
feat: UiFileComponent, add [readAs] param
1 parent 98e2e08 commit 87ae768

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

projects/ui/src/lib/ui-file/ui-file/ui-file.component.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';
1+
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';
22
import { forkJoin, Observable } from 'rxjs';
33
import { UiFileSelect } from '../meta';
44
import { UiFileHolderDirective } from '../ui-file-holder/ui-file-holder.directive';
@@ -15,6 +15,8 @@ export class UiFileComponent {
1515

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

18+
@Input() readAs: 'DataURL' | 'Text' | 'ArrayBuffer' | 'BinaryString' = 'DataURL';
19+
1820
constructor(
1921
private holder: UiFileHolderDirective,
2022
private elementRef: ElementRef,
@@ -50,7 +52,19 @@ export class UiFileComponent {
5052
reader.onerror = () => {
5153
observer.error('Read data error');
5254
};
53-
reader.readAsDataURL(file);
55+
switch (this.readAs) {
56+
case 'DataURL':
57+
reader.readAsDataURL(file);
58+
break;
59+
case 'Text':
60+
reader.readAsText(file);
61+
break;
62+
case 'ArrayBuffer':
63+
reader.readAsArrayBuffer(file);
64+
break;
65+
case 'BinaryString':
66+
reader.readAsBinaryString(file);
67+
}
5468
});
5569
}
5670
}

0 commit comments

Comments
 (0)