UNPKG

mobile-more

Version:

基于 antd-mobile v5 扩展移动端 UI 组件

80 lines (79 loc) 2.65 kB
import { getFileType } from 'util-helpers'; import { ImageUploadItem } from 'antd-mobile'; /** * 获取 url 的文件名。 * * 如果是 `blob:xxx` 格式的 URL,则返回空字符串。 * * @param url 文件URL * @returns 文件名 * @example * getUrlFileName('https://example.com/file.txt') // 'file.txt' * getUrlFileName('https://example.com/dir/file.txt') // 'file.txt' * getUrlFileName('blob:https://example.com/1234-5678-90ab-cdef') // '' * getUrlFileName('xxx') // 'xxx' * getUrlFileName('xxx.txt') // 'xxx.txt' */ export declare function getUrlFileName(url: string): string; /** * 上传文件类型 */ export type UploadFileType = { uid: string; name: string; url: string; key?: string | number; thumbnailUrl?: string; extra?: any; fileType: ReturnType<typeof getFileType>; type?: string; size?: number; lastModified?: number; originFileObj?: File; }; /** * 文件类型 */ export type FileType = string | File | ImageUploadItem | UploadFileType; /** * 转换文件为统一的上传文件格式 * @param file - 待转换的文件,可以是 File 对象、URL 字符串或自定义文件对象 * @param createObjectUrlOnOriginFile - 是否为原始文件创建 Object URL,默认为 true * @param uid - 自定义 uid * @returns 标准化的上传文件对象,包含 uid、name、url、fileType 等属性 * * 转换规则: * - File 对象: 保留原始文件信息,并可选创建 Object URL * - URL 字符串: 提取文件名,设置 url * - 其他对象: 合并到结果对象 */ export declare function transformUploadFile(file?: FileType, createObjectUrlOnOriginFile?: boolean, uid?: string): UploadFileType; /** * 获取文件缩略图URL * @param file - 文件对象 * @returns 返回文件缩略图的URL地址。如果文件有缩略图则返回缩略图URL,否则根据文件类型返回对应的图标URL * - 图片类型:返回原始URL或blob URL * - 音频类型:返回音频图标 * - 视频类型:返回视频图标 * - PDF类型:返回PDF图标 * - Word类型:返回Word图标 * - Excel类型:返回Excel图标 * - 其他类型:返回默认文件图标 */ export declare function getFileThumbUrl(file?: FileType): string; /** * 是否为有效PDF URL * @param pdfUrl PDF URL * @returns 是否为有效PDF URL */ export declare const isValidPdfUrl: (pdfUrl?: string) => boolean; /** * 支持的文件类型 */ export declare const supportedFileType: string[]; /** * 是否支持预览 * @param file 文件对象 * @returns 是否支持预览 */ export declare function supports(file?: FileType): boolean;