0

ファイルのダウンロードをサポートする Web アプリケーションがあります。Firefox と Chrome で問題なく動作します。しかし、Internet Explorer の場合、たとえば: などの特殊文字を含むファイルをダウンロードすると、#常に文字がアンダースコア: に変更されます_

たとえば、ファイルはInternet Explorer からダウンロードした後のfilename#.zipように保存されます。filename_.zip

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>
4

1 に答える 1

0

Windows では、ファイル名 ( \ / : * ? " < > | source )に複数の文字を使用できませんが、#問題はありません。

Web アンカー (つまり url#anchor) に使用されるため、IE が気に入らない可能性があります。何が起こっているかを知るには:

  1. サーバーが実際に期待するファイル名を送信していることを確認してください (回線上の HTTP 応答ヘッダーを見てください。ブラウザーの開発ツールまたはログをサポートするローカル プロキシ サーバーを使用してください)。

  2. コードを編集して、ファイル名にあらゆる種類の奇妙な文字を入れて、どの文字がOKでどの文字がそうでないかを確認します

  3. 別のブラウザで試してください。ブラウザがファイルを保存しようとしたときに、Windows がファイルの名前を変更している可能性があります。

于 2013-02-25T14:38:37.820 に答える