[improvement] Uploader: utils ts (#3793)

This commit is contained in:
neverland 2019-07-09 16:41:20 +08:00 committed by GitHub
parent 73cec3ac96
commit 06cf48c4c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 9 deletions

View File

@ -1,15 +1,11 @@
import { createNamespace, addUnit } from '../utils';
import { toArray, readFile, isOversize } from './utils';
import { toArray, readFile, isOversize, isImageDataUrl } from './utils';
import Icon from '../icon';
import Image from '../image';
import ImagePreview from '../image-preview';
const [createComponent, bem] = createNamespace('uploader');
function isImageDataUrl(dataUrl) {
return dataUrl.indexOf('data:image') === 0;
}
export default createComponent({
inheritAttrs: false,

View File

@ -1,4 +1,4 @@
export function toArray(item) {
export function toArray<T>(item: T | T[]): T[] {
if (Array.isArray(item)) {
return item;
}
@ -6,12 +6,12 @@ export function toArray(item) {
return [item];
}
export function readFile(file, resultType) {
export function readFile(file: File, resultType: string) {
return new Promise(resolve => {
const reader = new FileReader();
reader.onload = event => {
resolve(event.target.result);
resolve((event.target as FileReader).result);
};
if (resultType === 'dataUrl') {
@ -22,6 +22,10 @@ export function readFile(file, resultType) {
});
}
export function isOversize(files, maxSize) {
export function isOversize(files: File | File[], maxSize: number): boolean {
return toArray(files).some(file => file.size > maxSize);
}
export function isImageDataUrl(dataUrl: string): boolean {
return dataUrl.indexOf('data:image') === 0;
}