From aadea751ace8f78d48e2678b6fc500fe1e8f3432 Mon Sep 17 00:00:00 2001 From: Him188 <Him188@mamoe.net> Date: Wed, 6 May 2020 11:52:44 +0800 Subject: [PATCH] Add precondition checks --- .../kotlin/net/mamoe/mirai/utils/ExternalImageJvm.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/ExternalImageJvm.kt b/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/ExternalImageJvm.kt index 85bc40311..2eaa943dc 100644 --- a/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/ExternalImageJvm.kt +++ b/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/ExternalImageJvm.kt @@ -37,7 +37,12 @@ fun BufferedImage.toExternalImage(formatName: String = "png"): ExternalImage = * @param deleteOnClose 若为 `true`, 图片发送后将会删除这个文件 */ @JvmOverloads -fun File.toExternalImage(deleteOnClose: Boolean = false): ExternalImage = ExternalImage(asReusableInput(deleteOnClose)) +fun File.toExternalImage(deleteOnClose: Boolean = false): ExternalImage { + require(this.isFile) { "File must be a file" } + require(this.exists()) { "File must exist" } + require(this.canRead()) { "File must can be read" } + return ExternalImage(asReusableInput(deleteOnClose)) +} /** * 将 [URL] 委托为 [ExternalImage].