小编abe*_*amp的帖子

Spring - 使用二进制文件进行 POST - 字符解码失败

我正在运行一个 spring-boot 应用程序,它似乎在处理特定请求时遇到问题。该请求是一个包含二进制数据的 POST,但是,当 JavaServlet(或 tomcat?)收到它时,它不知道如何对其进行解码,因此会产生以下错误:

org.apache.tomcat.util.http.Parameters   : Character decoding failed. Parameter [0  *H÷
          0 UUS1#0!U
S§¥ø§'ôZúöf¿(å_Ý«"õéñ¤åyl¢Ýg0izt¡÷~ÅüvDt¿Äû¨Ë åt@òÔÊdJRBq%2¶ úFsX] with value [] has been ignored. Note that the name and value quoted here may be corrupted due to the failed decoding. Use debug level logging to see the original, non-corrupted values.
Run Code Online (Sandbox Code Playgroud)

我知道以下配置似乎对其有一些影响,但我不知道将包含二进制文件的帖子的值设置为什么:

server.tomcat.uri-encoding=UTF-8 #I've also tried UTF-16
Run Code Online (Sandbox Code Playgroud)

谢谢你的时间。

编辑(答案):您可以使用具有以下配置的 apache 代理来解决此问题:

<Location /endpoint/>
    ProxyPass https://127.0.0.1:443/endpoint/
    RequestHeader unset Content-Type
    RequestHeader set Content-Type "application/octet-stream"
</Location>
Run Code Online (Sandbox Code Playgroud)

取消设置 Content-Type 是可选的,我相信该设置应该覆盖。但是,我不是 100% 该字段不区分大小写。也RequestHeader unset …

post spring decoding bin

1
推荐指数
1
解决办法
2936
查看次数

标签 统计

bin ×1

decoding ×1

post ×1

spring ×1