From 196bb14112448857a885e32dc4149e308e00b01a Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 15 八月 2024 11:57:15 +0800 Subject: [PATCH] 2024.8.15 各项修正 --- 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