Commit 97cec236e0c5c1d02fd266ff8cc68a8a334027ae

Authored by YunaiV
1 parent 839085ed

reactor:【ai 大模型】独立 FileTypeUtils 工具类,避免 cloud 无法依赖

yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatMessageServiceImpl.java
@@ -34,7 +34,7 @@ import cn.iocoder.yudao.module.ai.service.model.AiChatRoleService; @@ -34,7 +34,7 @@ import cn.iocoder.yudao.module.ai.service.model.AiChatRoleService;
34 import cn.iocoder.yudao.module.ai.service.model.AiModelService; 34 import cn.iocoder.yudao.module.ai.service.model.AiModelService;
35 import cn.iocoder.yudao.module.ai.service.model.AiToolService; 35 import cn.iocoder.yudao.module.ai.service.model.AiToolService;
36 import cn.iocoder.yudao.module.ai.util.AiUtils; 36 import cn.iocoder.yudao.module.ai.util.AiUtils;
37 -import cn.iocoder.yudao.module.infra.framework.file.core.utils.FileTypeUtils; 37 +import cn.iocoder.yudao.module.ai.util.FileTypeUtils;
38 import com.google.common.collect.Maps; 38 import com.google.common.collect.Maps;
39 import io.modelcontextprotocol.client.McpSyncClient; 39 import io.modelcontextprotocol.client.McpSyncClient;
40 import jakarta.annotation.Resource; 40 import jakarta.annotation.Resource;
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/util/FileTypeUtils.java 0 → 100644
  1 +package cn.iocoder.yudao.module.ai.util;
  2 +
  3 +import cn.hutool.core.util.StrUtil;
  4 +import lombok.extern.slf4j.Slf4j;
  5 +import org.apache.tika.Tika;
  6 +
  7 +/**
  8 + * 文件类型 Utils
  9 + *
  10 + * @author 芋道源码
  11 + */
  12 +@Slf4j
  13 +public class FileTypeUtils {
  14 +
  15 + private static final Tika TIKA = new Tika();
  16 +
  17 + /**
  18 + * 已知文件名,获取文件类型,在某些情况下比通过字节数组准确,例如使用 jar 文件时,通过名字更为准确
  19 + *
  20 + * @param name 文件名
  21 + * @return mineType 无法识别时会返回“application/octet-stream”
  22 + */
  23 + public static String getMineType(String name) {
  24 + return TIKA.detect(name);
  25 + }
  26 +
  27 + /**
  28 + * 判断是否是图片
  29 + *
  30 + * @param mineType 类型
  31 + * @return 是否是图片
  32 + */
  33 + public static boolean isImage(String mineType) {
  34 + return StrUtil.startWith(mineType, "image/");
  35 + }
  36 +
  37 +}