【问题标题】:unable to upload file with special character in Spring java无法在Spring java中上传带有特殊字符的文件
【发布时间】:2016-03-11 22:01:03
【问题描述】:

在上传特殊字符名称为 file e- F CINE HD 1Break Sin Créd.mxf 的文件时,它在 UI 中更改了特殊字符 E- F CINE HD 1Break Sin Cre?D.Mxf 的文件名,但名称在我已上传的数据库中保持不变。

我得到了这个错误:

Invalid UTF-8 middle byte 0x64  at [Source: io.undertow.servlet.spec.ServletInputStreamImpl@4e6aff3c; line: 1, column: 735]

【问题讨论】:

  • 文件名编码错误。您很可能使用 ISO-Latin-1 而不是 UTF-8
  • 我尝试过这种方式,但我仍然遇到同样的错误。POSTapplication/jsonutf-8

标签: java xml spring-mvc jakarta-ee


【解决方案1】:

试试这个配置:在你的web.xml 文件中添加这个配置。 确保添加正确的编码值。

<filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>ISO-Latin-1</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

【讨论】:

  • POSTapplication/jsonUTF-8admin
  • 你在哪里添加这个?您是否尝试过在 web.xml 中使用上述配置?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多