Джерси fileName в кодировке - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь получить имя загруженного файла, полученного на сервер джерси, но получаю его неправильно.файл на вьетнамском языке, так что на имя файла, он получил как бред "Ай муа" н са »ха» cу ка »фао§н нхо ¥ т ваоои сао.док вместо Ай муốн сở хữу сổ фầн нхấт ваtại sao.doc

мой код выглядит следующим образом:

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA + ";charset=UTF-8")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response uploadFile(@Context HttpServletRequest httpServletRequest, @FormDataParam("file") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileDetails){
    String filename = fileDetails.getFileName().replace(",", " ");
}

1 Ответ

0 голосов
/ 12 ноября 2018

Как сказано в комментариях, измените кодировку на UTF-8:

String fileName = new String(fileDetails.getFileName().getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8).replace(",", " ");
...