我需要编写一个能够处理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之后,它现在是可解压缩的,这让我相信我要么得到了太多的数据,要么得到了太少的数据。
如何解决此问题并获取原始二进制数据?
我可以使用以下代码解决此问题:
@Bean
public FilterRegistrationBean registration(HiddenHttpMethodFilter filter) {
FilterRegistrationBean registration = new FilterRegistrationBean(filter);
registration.setEnabled(false);
return registration;
}
@RequestMapping(method = RequestMethod.POST, value = "/data")
public void acceptData(HttpServletRequest requestEntity) throws Exception {
byte[] processedText = IOUtils.toByteArray(requestEntity.getInputStream());
processText(processedText);
}
默认情况下,Spring会进行预处理,这会导致< code>HttpServletRequest在到达< code>RequestMapping时为空。添加< code > FilterRegistrationBean Bean可以解决这个问题。
这与在控制器方法的参数中声明InputStream一样简单:
@RequestMapping(method = RequestMethod.POST, value = "/data")
public void acceptData(InputStream dataStream) throws Exception {
processText(dataStream);
}
您不需要禁用隐藏Http方法过滤器,如果您这样做,可能是您的请求在某些方面是错误的。请参阅 https://github.com/spring-projects/spring-boot/issues/5676。
我尝试做的是从同一个站点发布数据并从它创建一个新的订单(当提交按钮被点击时)。我没有任何信息在我的请求。身体,我怀疑是在我的ejs出了问题,任何反馈是非常感谢的。 我的ejs文件: 和我的js文件:
我如何解析JSON请求之类的东西? 示例代码: 带有_名称的位置_为无
我在tradingview中有一个警报,它会向我的服务器发送一个带有请求的webhook,其中一个简单的主体包含一些信息。webhook发送纯文本,它不发送JSON数据。 我想知道有没有办法得到纯文本数据 这是JSON webhook 这就是我的密码
检查userDbRecord Mono是否为空以及如果不为空则从中提取phone属性的最佳方法是什么?
介绍 有时候,浏览器会通过post发送很多数据。在webpy,你可以这样操作。 代码 class RequestHandler(object): def POST(self): data = web.data() # 通过这个方法可以取到数据
问题内容: 我有以下django模板(将http:// IP / admin / start /分配给一个名为view的假设视图): 是视图中引用的Django模型的。每当单击“开始”提交输入时,我都希望“开始”视图在返回渲染页面之前使用函数中的数据。如何将POST(在本例中为隐藏输入)中发布的信息收集到Python变量中? 问题答案: 另外,你的隐藏字段还需要一个可靠的名称,然后是一个值: 然后