zhangwencui
6 天以前 92f48fea04ed14d188652afa6bf11f3d6f940b5c
src/packages/@core/base/shared/src/utils/upload.ts
@@ -196,6 +196,34 @@
}
/**
 * 预览文件类型
 */
export type PreviewFileType =
  | 'docx'
  | 'excel'
  | 'image'
  | 'pdf'
  | 'pptx'
  | 'unknown';
/**
 * 根据文件名判断预览文件类型
 *
 * @param filename 文件名或 URL
 * @returns 预览文件类型
 */
export function getFileType(filename: null | string | undefined): PreviewFileType {
  if (!filename) return 'unknown';
  const ext = filename.split('.').pop()?.toLowerCase() || '';
  if (isImage(ext)) return 'image';
  if (ext === 'pdf') return 'pdf';
  if (['doc', 'docx'].includes(ext)) return 'docx';
  if (['xls', 'xlsx'].includes(ext)) return 'excel';
  if (['ppt', 'pptx'].includes(ext)) return 'pptx';
  return 'unknown';
}
/**
 * 获取文件图标(Lucide Icons)
 *
 * @param filename 文件名