gpt4 book ai didi

java - MultipartFormDataInput 请求的内容长度始终为 -1

转载 作者:太空宇宙 更新时间:2023-11-04 14:35:14 25 4
gpt4 key购买 nike

我正在使用 RESTEasy 按键和值 PUT 一些数据。我只想接受大小小于 4k 的数据,我想我可以通过获取请求的内容长度来检查。这是我正在使用的方法:

@PUT
@Path("/{key}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response addData(
final @PathParam("key") String dataKey,
MultipartFormDataInput data) throws IOException, ClassNotFoundException {

final HttpServletRequest request = ....getHttpRequest(); //returns the request

final Map<String, List<InputPart>> parts = data.getFormDataMap();
final List<InputPart> inputParts = parts.get("data");
final InputPart part= inputParts.get(0);
final InputStream dataStream = part.getBody(InputStream.class, null);

int length = request.getContentLength();
String length2 = request.getHeader("Content-Length");
System.out.println(length);
System.out.println(length2);

service.addData(key, dataStream);

return Response.status(204).build();
}

但是,lengthlength2 分别返回 -1null。如果我监视 Fiddler 并查看请求,我会注意到请求中的 contentLength 不是 -1,而是一个正确的值。

关于为什么我无法获取请求内容长度有什么想法吗?谢谢。

编辑:使用高级 Rest 客户端 Chrome 扩展时,我的 PUT 请求如下所示:/image/FpFyq.png

编辑:不确定我还有什么要补充的,但对此的任何想法都会很棒。

最佳答案

关于java - MultipartFormDataInput 请求的内容长度始终为 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25674922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com