我正在玩http4s多部分文件上传,这是我得到的工作。但是,对于大于500 an的文件上传,多部分解析会引发异常。
客户端在解析多部分主体时引发的错误是HTTP 422:请求体无效。
服务器端的错误是“部件未正确终止”。
因为这显然与上传文件的大小有关,所以我怀疑http4s中必须有一个配置才能允许更大的上传?
提前感谢!
发布于 2022-04-11 00:48:13
有一个标题可以更改可以上传的最大大小,称为Content-Length。
这是一个简单的语法:
Content-Length: <length>length参数只是一个数字,表示允许最大大小的字节数()。
一些例子包括:
Content-Length: 6553Content-Length: 54138所以,你可以在这里设置最大尺寸。
若要在浏览器中检查此标头,请执行以下步骤。
在网络选项卡上单击browser.
Content-Length。如果您希望获得浏览器兼容性统计数据,请参见以下内容:
browsers)
)
这是如何使用HTTP4更改最大文件上传大小的方法。
发布于 2022-04-11 07:59:50
您能否尝试更改标题中的内容长度?
content-length: 3495或Content-Length: 3495取决于内容的大小。
如我所见,这个方法getBody是用len param https://github.com/http4s/http4s/blob/4b928e0dc0ba6edbdbe7461204663e13a7013f8c/blaze-server/src/main/scala/org/http4s/blaze/server/Http2NodeStage.scala#L108调用的。
我发现的是,您可以传递这个标头内容长度来允许这个大小。
内容长度标头参考:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length
希望它能成功。
https://stackoverflow.com/questions/71531345
复制相似问题