ImageConverter.java 1.66 KB
package com.ruoyi.pojo.converter.common;

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.alibaba.excel.util.FileUtils;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.utils.file.FileUploadUtils;

import java.io.File;
import java.io.IOException;

/**
 * @author 20412
 */
public class ImageConverter implements Converter<String> {
    @Override
    public Class supportJavaTypeKey() {
        return String.class;
    }

    @Override
    public CellDataTypeEnum supportExcelTypeKey() {
        return CellDataTypeEnum.IMAGE;
    }

    @Override
    public String convertToJavaData(CellData cellData, ExcelContentProperty contentProperty,
                                    GlobalConfiguration globalConfiguration) {
        throw new UnsupportedOperationException("Cannot convert images to string");
    }

    @Override
    public CellData convertToExcelData(String value, ExcelContentProperty contentProperty,
                                       GlobalConfiguration globalConfiguration) throws IOException {
        String path = RuoYiConfig.getProfile() + value.replace("/profile", "");
        System.out.println(path);
        File file = new File(path + "/");
        if (file.exists()) {
            if (file.isDirectory() || !file.canRead()) {
                return new CellData("没有图片");
            }
            return new CellData(FileUtils.readFileToByteArray(file));
        }
        return new CellData("没有图片");
    }
}