为什么在Java中将不同类型的连字符视为问号?

时间:2019-04-10 10:09:17

标签: java spring utf-8 ascii hyphen

我得到一个多部分文件作为控制器的参数。 我的控制器是:

@PostMapping({"/files"})
    @ApiOperation("Create a file")
    public FileDto postFile(
            @ApiParam(value = "Description of the file") @RequestParam("data") String data,
            @ApiParam(value = "The file") @RequestParam("file") MultipartFile file) throws IOException {

        FileDto fileDto = objectMapper.readValue(data, FileDto.class);
        fileValidator.validate(fileDto, file);
        return fileService.postFile(fileDto, file, fileDto.getNotificationInfo());
    }

我的问题是关于破折号(-)。如果文件名包含破折号,则将其视为问号(?)

例如,如果文件名是“ test—test.pdf”,并且如果我将调试点放在控制器上,则文件参数附带名称“ test?test.pdf”。

我该如何处理?我想要做的实际上是使用正则表达式编辑文件名,并将所有不同类型的破折号和连字符替换为普通的连字符,但是它已经作为问号出现了

0 个答案:

没有答案