///
import React from 'react';
declare global {
/**
* 增强的File,经过FileUtils处理后的文件对象
*/
interface FileX {
file: File;
md5: string;
result: string | ArrayBuffer | ByteString;
}
}
export interface FileUtilsProps {
/**
* 接受的文件类型,类似['.jpg','.png']
*/
accept?: string[];
/**
* 使用fileReader
*/
readAs?: 'Text' | 'DataURL' | 'ArrayBuffer' | 'BinaryString';
/**
* 上传前确认
*/
onBeforeChange?: (e: React.SyntheticEvent) => void;
/**
* 接收到文件
*/
onFile?: (filelist: FileList | null) => void;
/**
* 读完后的内容
*/
onChange?: ((fileList: FileX[]) => void) | undefined;
className?: string;
styleName?: string;
/**
* 是否多选
*/
multiple?: boolean;
/**
* 是否只是拖拽
*/
dragOnly?: boolean;
/**
* 是否禁用
*/
disable?: boolean;
}
export interface FileUtilsState {
className?: string;
dragOver?: boolean;
}
declare class FileUtils extends React.Component {
file: HTMLInputElement;
constructor(props: FileUtilsProps);
componentWillUnmount(): void;
render(): JSX.Element;
handleRef: (element: HTMLInputElement) => void;
onDragOver: () => void;
onDragLeave: () => void;
/**
* 组件被点击
*/
handleFileUtilsClick: (e: React.SyntheticEvent) => Promise;
/**
* 组件接收文件拖拽
*/
handleFileUtilsDrop: (e: React.DragEvent) => void;
/**
* 组件file的onChange事件
*/
handleFileChange: (e: React.ChangeEvent) => void;
/**
* 接受文件进行处理
*/
fileIntoProcess: (filelist: FileList | null) => Promise;
}
export default FileUtils;