【发布时间】:2021-04-21 14:28:23
【问题描述】:
我用 Spring Boot Gradle Kotlin 后端构建了一个应用程序,它可以存储 Multipart 文件并将其上传到 Postgres 数据库。数据存储在 ByteArray 中。到目前为止一切正常。
现在我想添加一个图像 URL 以使其在我的 JSON 对象中可用,以便稍后抓取它并将其显示在我的客户端,就像 Unsplash 上的那样。
图片网址
"imageURL": "https://xyz.jpg"
文件模型
@Entity
@Table(name = "file")
data class File(
@Id
val id: UUID = UUID.randomUUID(),
val createdAt: LocalDateTime = LocalDateTime.now(),
var updatedAt: LocalDateTime = LocalDateTime.now(),
var likes: Int = 0,
var likedByUser: Boolean = false,
var description: String = "",
val downloadLink: URI = URI("https://unsplasy-backend.herokuapp.com/files/download/$id"),
var name: String = "",
var type: String = "",
@Basic(fetch = FetchType.LAZY)
private val data: ByteArray = byteArrayOf(),
val imageURL: TODO = "TODO"
)
商店
fun store(file: MultipartFile): File {
val fileName = file.originalFilename.toString()
val fileToSave = File(
name = fileName,
type = file.contentType.toString(),
data = file.bytes
)
return fileRepository.save(fileToSave)
}
【问题讨论】:
-
是的,谢谢,我想通了。我不确定这是否是最好的方法,但它确实有效。
标签: arrays spring postgresql kotlin