新增get_file方法,主要解决使用反向websocket的时候获取文件麻烦的问题,目前仅支持base64的type返回,未来将支持更多模式,测试后将发布至文档

This commit is contained in:
tuuz 2024-03-18 03:05:28 +08:00
parent 2770979fee
commit 3664352f23
2 changed files with 7 additions and 3 deletions

View File

@ -3,10 +3,8 @@ package moe.fuqiuluo.shamrock.remote.action.handlers
import kotlinx.serialization.json.JsonElement
import moe.fuqiuluo.shamrock.remote.action.ActionSession
import moe.fuqiuluo.shamrock.remote.action.IActionHandler
import moe.fuqiuluo.shamrock.remote.service.data.OutResource
import moe.fuqiuluo.shamrock.remote.service.data.OutResourceByBase64
import moe.fuqiuluo.shamrock.tools.EmptyJsonString
import moe.fuqiuluo.shamrock.utils.AudioUtils
import moe.fuqiuluo.shamrock.utils.FileUtils
import moe.fuqiuluo.symbols.OneBotHandler
import java.util.Base64
@ -17,7 +15,7 @@ import java.util.Base64
.replace(regex = "[{}\\-]".toRegex(), replacement = "")
.replace(" ", "")
.split(".")[0].lowercase()
val fileType = session.getString("file_type")
val fileType = session.getString("type")
return invoke(file, fileType, session.echo)
}

View File

@ -26,6 +26,12 @@ fun Routing.fetchRes() {
call.respondText(GetRecord(file, format), ContentType.Application.Json)
}
getOrPost("/get_file") {
val file = formatFileName( fetchGetOrThrow("file") )
val fileType = fetchOrThrow("file_type")
call.respondText(GetFile(file, fileType), ContentType.Application.Json)
}
getOrPost("/get_image") {
val file = formatFileName( fetchGetOrThrow("file") )
call.respondText(GetImage(file), ContentType.Application.Json)