23 行
769 B
TypeScript
23 行
769 B
TypeScript
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}。`;
|
|
}
|