export const PDF_FILE_ACCEPT = ".pdf,application/pdf"; export function isPdfFile(file: File) { return file.type === "application/pdf" || file.name.toLowerCase().endsWith(".pdf"); } export function splitPdfFiles(files: File[] | FileList | null | undefined) { const source = Array.from(files ?? []); return { accepted: source.filter(isPdfFile), rejected: source.filter((file) => !isPdfFile(file)), }; } export function rejectedPdfMessage(rejected: File[]) { if (!rejected.length) { return ""; } const names = rejected.slice(0, 3).map((file) => file.name || "未命名文件").join("、"); const suffix = rejected.length > 3 ? `等 ${rejected.length} 个文件` : ""; return `发票上传仅支持 PDF,已忽略 ${names}${suffix}。`; }