zent
Version:
一套前端设计语言和基于React的实现
33 lines (30 loc) • 937 B
text/typescript
import previewImage from '../../preview-image';
import { FILE_UPLOAD_STATUS } from '../constants';
import { IImageUploadFileItem } from '../types';
/**
* 默认获取缩略图方法
*/
export function defaultGetThumbSrcFromFile(file: File) {
return new Promise<string>((resolve, reject) => {
const fileReader = new FileReader();
fileReader.onloadend = () => resolve(fileReader.result as string);
fileReader.onerror = reject;
fileReader.readAsDataURL(file);
});
}
/**
* 默认点击图片时的放大预览方法,排除上传失败的图片
*/
export function defaultPreview(
file: IImageUploadFileItem,
fileList: IImageUploadFileItem[]
) {
const previewFiles = fileList.filter(
item => item.status !== FILE_UPLOAD_STATUS.failed
);
const previewIndex = previewFiles.indexOf(file);
previewImage({
index: previewIndex,
images: previewFiles.map(item => item.src || item.thumbSrc),
});
}