从 ktor 服务器访问静态文件时出现 404

问题描述 投票:0回答:1

我的文件存储在 Fat jar 服务器旁边的

uploads
文件夹下,并且文件已正确保存在那里,但在通过云服务器
http://{IP_ADDRESS}:8085/uploads/image1.png
访问这些文件时,我收到 404。 这在我的本地主机上运行得很好。

//目录结构

root@localhost:~/ktor# ls
build my-server.jar  uploads

//后端代码

fun Application.configureRouting() {

    routing {
        staticRoutes()
    }
}


fun Route.staticRoutes() {
    val projectRoot = File(System.getProperty("user.dir"))
    staticFiles("/uploads/", File("${projectRoot}\\uploads"))
}

不确定我错过了什么,有什么线索吗?

kotlin server backend ktor static-files
1个回答
0
投票

问题出在反斜杠路径分隔符 (

"${projectRoot}\\uploads"
)。以下代码按预期工作:

fun Route.staticRoutes() {
    val projectRoot = File(System.getProperty("user.dir"))
    staticFiles("/uploads", projectRoot.resolve("uploads"))
}
© www.soinside.com 2019 - 2024. All rights reserved.