Add content type to uploaded index.html

This commit is contained in:
2025-06-08 23:51:55 +03:00
parent db9c0b58d1
commit 2978bef380
5 changed files with 6 additions and 5 deletions

View File

@@ -28,7 +28,7 @@ class ThisCommandHandlerService(
val fileBytes = env.bot.downloadFileBytes(maxResPhotoId) ?: return val fileBytes = env.bot.downloadFileBytes(maxResPhotoId) ?: return
logger.info { "Downloaded a file from Telegram" } logger.info { "Downloaded a file from Telegram" }
fileUploaderService.uploadFile(fileBytes, "_.jpeg") fileUploaderService.uploadFile(fileBytes, "_.jpeg", "image/jpeg")
reactToMessage(env, "👍") reactToMessage(env, "👍")
} }

View File

@@ -10,7 +10,7 @@ private val logger = KotlinLogging.logger {}
@Service @Service
class DummyFileUploadService() : FileUploaderService { class DummyFileUploadService() : FileUploaderService {
override suspend fun uploadFile(fileBytes: ByteArray, filename: String) { override suspend fun uploadFile(fileBytes: ByteArray, filename: String, contentType: String) {
logger.info { "File $filename has been successfully uploaded to nowhere" } logger.info { "File $filename has been successfully uploaded to nowhere" }
} }
} }

View File

@@ -4,5 +4,5 @@ import org.springframework.stereotype.Service
@Service @Service
interface FileUploaderService { interface FileUploaderService {
suspend fun uploadFile(fileBytes: ByteArray, filename: String) suspend fun uploadFile(fileBytes: ByteArray, filename: String, contentType: String)
} }

View File

@@ -17,7 +17,7 @@ class IndexInitializer(val fileUploaderService: FileUploaderService) {
fun applicationStartedHandler(event: ApplicationStartedEvent) { fun applicationStartedHandler(event: ApplicationStartedEvent) {
try { try {
val fileBytes = readResourceAsByteArray("static/index.html") val fileBytes = readResourceAsByteArray("static/index.html")
runBlocking { fileUploaderService.uploadFile(fileBytes, "index.html") } runBlocking { fileUploaderService.uploadFile(fileBytes, "index.html", "text/html") }
} catch (e: Error) { } catch (e: Error) {
logger.warn(e) { "Failed to upload " } logger.warn(e) { "Failed to upload " }
} }

View File

@@ -13,12 +13,13 @@ private val logger = KotlinLogging.logger {}
@Service @Service
class S3FileUploaderService(private val s3Client: S3Client, private val s3Props: S3Props) : class S3FileUploaderService(private val s3Client: S3Client, private val s3Props: S3Props) :
FileUploaderService { FileUploaderService {
override suspend fun uploadFile(fileBytes: ByteArray, filename: String) { override suspend fun uploadFile(fileBytes: ByteArray, filename: String, contentType: String) {
s3Client.putObject( s3Client.putObject(
PutObjectRequest { PutObjectRequest {
body = ByteStream.fromBytes(fileBytes) body = ByteStream.fromBytes(fileBytes)
bucket = s3Props.bucket bucket = s3Props.bucket
key = filename key = filename
this.contentType = contentType
} }
) )
logger.info { "File $filename has been uploaded to S3" } logger.info { "File $filename has been uploaded to S3" }