Spring Rest - 文件上传以支持 UTF-8 文件名



在我正在使用带有Spring Rest和MultipartFile的文件上传。一切都很好,但在 UTF-8 上出现问题。它不支持国际文件名 - 它像这样将字符替换为"?"。

我尝试使用编码过滤器 - org.springframework.web.filter.CharacterEncodingFilter ,但没有运气。

但令人惊讶的是,上面的过滤器在 JSP 表单上工作正常,没有 Rest喜欢这个

<form:form method="POST" action="uploadFile" enctype="multipart/form-data" accept-charset="UTF-8">

请帮忙,如何在春休中支持这个 utf-8。

支持三个步骤 - 在 Rest 中使用国际名称上传文件。

  1. 配置服务器以支持 UTF

    就我而言,Jboss 6.1

    <property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>

  2. 使用 UTF-8 筛选器

    org.springframework.web.filter.CharacterEncodingFilter

  3. 将文件名作为参数传递,并在主机中从参数而不是MultipartFile读取文件

最新更新