chore: set r2 mime type

This commit is contained in:
2024-10-10 19:47:27 +08:00
parent e0e89d1ecb
commit 68b7c60a4d
2 files changed
+5 -3

No files matched your search

@@ -89,7 +89,7 @@ class FancyBot : OneBotListener {
} else { } else {
try { try {
if (imagesUrl.size == 1) { if (imagesUrl.size == 1) {
val imageByteArray = imagesUrl[0].toURL().readBytes() val imageByteArray = imagesUrl.first().toURL().readBytes()
val imageFileType = imageByteArray.getFileType() val imageFileType = imageByteArray.getFileType()
val imageBedUrl = ImageBed.upload(imageByteArray, imageFileType) val imageBedUrl = ImageBed.upload(imageByteArray, imageFileType)
val msg = MessageChain.Builder() val msg = MessageChain.Builder()
@@ -46,13 +46,15 @@ object ImageBed {
fun upload(file: ByteArray, fileType: String = ""): String { fun upload(file: ByteArray, fileType: String = ""): String {
val randomUUID = UUID.randomUUID().toString() val randomUUID = UUID.randomUUID().toString()
if (configManager.imageBedType == ImageBedType.CloudflareR2) { if (configManager.imageBedType == ImageBedType.CloudflareR2) {
val key = "$randomUUID${if (fileType.isNotBlank()) ".$fileType" else ""}" val ft = if (fileType.isNotBlank()) ".$fileType" else ""
val key = "$randomUUID${ft}"
val putObjectRequest = PutObjectRequest.builder() val putObjectRequest = PutObjectRequest.builder()
.bucket(configManager.cloudflareR2BucketName) .bucket(configManager.cloudflareR2BucketName)
.contentType("image/${ft.replace(".", "")}")
.key(key) .key(key)
.build() .build()
s3Client.putObject(putObjectRequest, RequestBody.fromBytes(file)) s3Client.putObject(putObjectRequest, RequestBody.fromBytes(file))
return "${configManager.cloudflareR2PublicUrl}/$key" return "${configManager.cloudflareR2PublicUrl}/$key".proxy
} else { } else {
val body = UploadContentPayload("uploadImage", file.encodeToBase64()).toJson() val body = UploadContentPayload("uploadImage", file.encodeToBase64()).toJson()
val response = Http.put<UploadContentResponse>( val response = Http.put<UploadContentResponse>(