21 lines
713 B
Kotlin
21 lines
713 B
Kotlin
package com.github.insanusmokrassar.TelegramBotAPI.utils
|
|
|
|
import com.benasher44.uuid.uuid4
|
|
import kotlinx.io.core.Input
|
|
import kotlinx.io.streams.asInput
|
|
import kotlinx.serialization.Serializable
|
|
import kotlinx.serialization.Transient
|
|
import java.io.File
|
|
import java.nio.file.Files
|
|
|
|
@Serializable
|
|
actual class StorageFile(
|
|
@Transient
|
|
private val file: File = throw IllegalStateException("Can't create object without file")
|
|
) {
|
|
actual val contentType: String = Files.probeContentType(file.toPath())
|
|
actual val fileName: String = file.name
|
|
actual fun generateCustomName(): String = "${uuid4()}.${file.extension}"
|
|
actual fun asInput(): Input = Files.newInputStream(file.toPath()).asInput()
|
|
}
|