package com.wms_main.repository.utils;

import lombok.extern.slf4j.Slf4j;

import java.io.File;
import java.io.FileInputStream;
import java.util.Base64;

/**
 * 文件工具类
 */
@Slf4j
public class FileUtils {
    /**
     * 获取图片信息
     * @param imagePath 图片地址
     * @param imageName 图片名称
     * @return 图片结果
     */
    public static String getImageDetail(String imagePath, String imageName) {
        // 获取图片实例
        String imageDetail = "";
        if (StringUtils.isEmpty(imagePath) || StringUtils.isEmpty(imageName)) {
            // 空文件信息，直接返回
            return imageDetail;
        }
        try {
            // 如果最后一位是/或者\，则去掉
            String lastStr = imagePath.substring(imagePath.length() - 1);
            if (lastStr.equals("/") || lastStr.equals("\\")) {
                imagePath = imagePath.substring(0, imagePath.length() - 1);
            }
            //将图片文件转为base64图片
            File imageFile = new File(imagePath + File.separator + imageName);
            FileInputStream inputStream = new FileInputStream(imageFile);
            byte[] buffer = new byte[inputStream.available()];
            if (inputStream.read(buffer) == -1) {
                inputStream.close();
            }
            StringBuilder imageBase64 = new StringBuilder(Base64.getEncoder().encodeToString(buffer));
            imageDetail = new String(imageBase64);
        } catch (Exception e) {
            log.error("获取图片信息异常了。");
        }
        return imageDetail;
    }
}
