我想知道如何更改 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实现所做的。