我有一个支持文件下载的网络应用程序。它在 Firefox 和 Chrome 上运行良好。但是对于 Internet Explorer,当我下载一个包含特殊字符的文件时,例如:#
,它总是将字符更改为下划线:_
。
例如,该文件filename#.zip
将保存为filename_.zip
我从 Internet Explorer 下载后的文件。
Web 应用程序本身是使用 GWT 和 Java 编写的。Web 应用程序由 Tomcat 托管。我使用的IE版本是IE11。
我知道发布这个问题有点含糊,因为我不能在这里发布我的整个 Web 应用程序代码。欢迎任何想法。
更新:
这是我的 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<listener>
<listener-class>com.mycompany.somelistener</listener-class>
</listener>
<filter>
<filter-name>guiceFilter</filter-name>
<filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>guiceFilter</filter-name>
<url-pattern>*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<session-config>
<session-timeout>10</session-timeout>
</session-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>webApp</web-resource-name>
<url-pattern>*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
</web-app>