Java URLDecoder:使用spring上载时,尾随转义(%)模式不完整
我的项目只有一个初学者: org.springframework.boot 弹簧启动器webflux 2.1.6-发布 我尝试上传文件并使用MultipartFile,但不起作用。 该框架的工作方式类似于URL编码形式 错误发生在:Java URLDecoder:使用spring上载时,尾随转义(%)模式不完整,java,spring,Java,Spring,我的项目只有一个初学者: org.springframework.boot 弹簧启动器webflux 2.1.6-发布 我尝试上传文件并使用MultipartFile,但不起作用。 该框架的工作方式类似于URL编码形式 错误发生在: private MultiValueMap<String, String> parseFormData(Charset charset, String body) { String[] pairs = StringUtils.to
private MultiValueMap<String, String> parseFormData(Charset charset, String body) {
String[] pairs = StringUtils.tokenizeToStringArray(body, "&");
MultiValueMap<String, String> result = new LinkedMultiValueMap<>(pairs.length);
try {
for (String pair : pairs) {
int idx = pair.indexOf('=');
if (idx == -1) {
result.add(URLDecoder.decode(pair, charset.name()), null);
}
else {
String name = URLDecoder.decode(pair.substring(0, idx), charset.name());
String value = URLDecoder.decode(pair.substring(idx + 1), charset.name());
result.add(name, value);
}
}
}
我转而使用FilePart,但得到了相同的结果。。。
我错过了一些配置吗 我似乎无意中设置了标题application/x-www-form-urlencoded in postman。
我删除了它,结果变成:
{
"timestamp": "2019-06-30T12:00:29.703+0000",
"path": "/api/image",
"status": 400,
"error": "Bad Request",
"message": "Required MultipartFile parameter 'file' is not present"
}
似乎它无法解析它。
在我把
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
变成依赖。
它很好用 这无助于在下面看到我的答案@deshi
{
"timestamp": "2019-06-30T12:00:29.703+0000",
"path": "/api/image",
"status": 400,
"error": "Bad Request",
"message": "Required MultipartFile parameter 'file' is not present"
}
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>