package com.ruoyi.hywz.utils;

import org.springframework.web.multipart.MultipartFile;

/**
 * @author: jxh
 * @description:
 * @create: 2024/7/4
 */
public class PDFUtil {

    // 判断文件是否为图片
    public static boolean isImageFile(MultipartFile file) {
        String contentType = file.getContentType();
        return contentType != null && contentType.startsWith("image");
    }

    public static boolean isPdfFile(MultipartFile file) {
        // 获取文件名
        String fileName = file.getOriginalFilename();
        // 判断文件名是否以.pdf结尾
        if (fileName.endsWith(".pdf")) {
            return true;
        }

        try {
            // 读取文件的前几个字节来判断文件类型
            byte[] bytes = file.getBytes();
            // PDF文件通常以"%"开头
            String header = new String(bytes, "ASCII");
            return header.startsWith("%PDF");
        } catch (Exception e) {
            // 读取文件头过程中可能会发生异常，如果发生异常则认为不是PDF文件
            return false;
        }
    }
}
