Commit bb236af6310b852337e501d026d08048fad945bf

Authored by YunaiV
1 parent 501cfe5a

perf: 优化 FileTypeUtils 的 TIKA 创建,提升性能

yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/framework/file/core/utils/FileTypeUtils.java
@@ -21,7 +21,7 @@ import java.io.IOException; @@ -21,7 +21,7 @@ import java.io.IOException;
21 @Slf4j 21 @Slf4j
22 public class FileTypeUtils { 22 public class FileTypeUtils {
23 23
24 - private static final ThreadLocal<Tika> TIKA = TransmittableThreadLocal.withInitial(Tika::new); 24 + private static final Tika TIKA = new Tika();
25 25
26 /** 26 /**
27 * 获得文件的 mineType,对于 doc,jar 等文件会有误差 27 * 获得文件的 mineType,对于 doc,jar 等文件会有误差
@@ -31,7 +31,7 @@ public class FileTypeUtils { @@ -31,7 +31,7 @@ public class FileTypeUtils {
31 */ 31 */
32 @SneakyThrows 32 @SneakyThrows
33 public static String getMineType(byte[] data) { 33 public static String getMineType(byte[] data) {
34 - return TIKA.get().detect(data); 34 + return TIKA.detect(data);
35 } 35 }
36 36
37 /** 37 /**
@@ -41,7 +41,7 @@ public class FileTypeUtils { @@ -41,7 +41,7 @@ public class FileTypeUtils {
41 * @return mineType 无法识别时会返回“application/octet-stream” 41 * @return mineType 无法识别时会返回“application/octet-stream”
42 */ 42 */
43 public static String getMineType(String name) { 43 public static String getMineType(String name) {
44 - return TIKA.get().detect(name); 44 + return TIKA.detect(name);
45 } 45 }
46 46
47 /** 47 /**
@@ -52,7 +52,7 @@ public class FileTypeUtils { @@ -52,7 +52,7 @@ public class FileTypeUtils {
52 * @return mineType 无法识别时会返回“application/octet-stream” 52 * @return mineType 无法识别时会返回“application/octet-stream”
53 */ 53 */
54 public static String getMineType(byte[] data, String name) { 54 public static String getMineType(byte[] data, String name) {
55 - return TIKA.get().detect(data, name); 55 + return TIKA.detect(data, name);
56 } 56 }
57 57
58 /** 58 /**