gpt4 book ai didi

java - 如何从 Spring 处理的 POST 请求中获取原始二进制数据?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:06:52 25 4
gpt4 key购买 nike

我需要编写一个能够处理 CUrl 发送的二进制数据的应用程序,例如:

curl localhost:8080/data --data-binary @ZYSF15A46K1.txt

我创建了一个POST处理方法如下:

@RequestMapping(method = RequestMethod.POST, value = "/data")
public void acceptData(HttpEntity<byte[]> requestEntity) throws Exception {
process(requestEntity.getBody());
}

但是它似乎没有返回原始二进制数据。我已经尝试发送一个 GZip 文件,在经过 Spring 后,它现在不再可以解压缩,这让我相信我得到的数据太多或太少。

如何解决这个问题并获取原始二进制数据?

最佳答案

就像在 Controller 方法的参数中声明一个 InputStream 一样简单:

@RequestMapping(method = RequestMethod.POST, value = "/data")
public void acceptData(InputStream dataStream) throws Exception {
processText(dataStream);
}

您不应该需要禁用 HiddenHttpMethodFilter,如果您这样做可能是您的请求在某种程度上是错误的。参见 https://github.com/spring-projects/spring-boot/issues/5676 .

关于java - 如何从 Spring 处理的 POST 请求中获取原始二进制数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36901714/

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