From 9558ad87cc950bd67306aa31e5f3b7de367258ae Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 20 一月 2026 17:29:23 +0800
Subject: [PATCH] 2026.1.20 1. 新增自巡查承诺功能接口
---
src/main/kotlin/cn/flightfeather/supervision/infrastructure/utils/FileUtil.kt | 45 +++++++++++++++++++++++++++++++++++++++++----
1 files changed, 41 insertions(+), 4 deletions(-)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/infrastructure/utils/FileUtil.kt b/src/main/kotlin/cn/flightfeather/supervision/infrastructure/utils/FileUtil.kt
index 6b858bf..d52a0a0 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/infrastructure/utils/FileUtil.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/infrastructure/utils/FileUtil.kt
@@ -1,11 +1,19 @@
package cn.flightfeather.supervision.infrastructure.utils
-import java.io.File
-import java.io.FileOutputStream
+import net.coobird.thumbnailator.Thumbnails
+import net.coobird.thumbnailator.tasks.io.FileImageSource
+import org.springframework.util.Base64Utils
+import java.awt.Image
+import java.awt.image.BufferedImage
+import java.io.*
+import java.util.*
+import javax.imageio.ImageIO
-class FileUtil {
- @Throws(Exception::class)
+object FileUtil {
+ private const val SCHEME_PNG = "data:image/png;base64,"
+
+ @Throws(FileNotFoundException::class)
fun uploadFile(file: ByteArray, filePath: String, fileName: String) {
val targetFile = File(filePath)
if (!targetFile.exists()) {
@@ -15,6 +23,17 @@
out.write(file)
out.flush()
out.close()
+ }
+
+ fun deleteFile(path: String) {
+ val targetFile = File(path)
+ if (targetFile.exists()) {
+ try {
+ targetFile.delete()
+ } catch (e: SecurityException) {
+ e.printStackTrace()
+ }
+ }
}
/**
@@ -29,4 +48,22 @@
}
return ""
}
+
+ /**
+ * 鎸夌収鍥哄畾瀹藉害鍘嬬缉鍥剧墖鑷砨ase64褰㈠紡
+ */
+ fun compressImage2(bytes: ByteArray, w: Int): String {
+ val input = ByteArrayInputStream(bytes)
+ val srcImg = ImageIO.read(input)
+ val srcW = srcImg.width
+ val scale = w.toFloat() / srcW
+ val h = (srcImg.height * scale).toInt()
+
+ val buffImg = BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB)
+ buffImg.graphics.drawImage(srcImg.getScaledInstance(w, h, Image.SCALE_SMOOTH), 0, 0, null)
+ val out = ByteArrayOutputStream()
+ ImageIO.write(buffImg, "PNG", out)
+
+ return SCHEME_PNG + Base64.getEncoder().encodeToString(out.toByteArray())
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3