如何在 Ktor 中限制允许的文件大小(多部分文件)



我想知道如何更改 ktor 中多部分文件允许的文件大小? 我在文档中找不到有关此内容的任何内容(仅了解如何接收多部分文件(。我正在使用嵌入式网络服务器。我将限制客户端上的文件大小,但最好在服务器上也有这种限制。

搜索了网络,我发现与该主题相关的唯一两件事是此示例(似乎是 WAR 文件的配置(: https://github.com/ktorio/ktor-samples/blob/master/other/maven-google-appengine-standard/webapp/WEB-INF/web.xml

和此示例(如何接收分段请求: https://github.com/ktorio/ktor-samples/blob/master/app/youkube/src/Upload.kt

没有什么开箱即用的,AFAIK。

但是你可以从官方的例子中得到启发: https://ktor.io/servers/uploads.html

请注意此部分:

val bytes = read(buffer).takeIf { it >= 0 } ?: break

还有他们算bytesCopied的事实:

bytesCopied += bytes

所以,你可以做一些类似的事情

if (bytesCopied > limit) { throw RuntimeException("Limit reached") }

这就是Apache Tomcat实现所做的。

相关内容

  • 没有找到相关文章

最新更新