none
CSVファイルダウンロード時に「開く」のときのファイル名 RRS feed

  • 質問

  • CSVファイルをWebサーバからダウンロードした場合、
    ダイアログが表示され、「保存」を行うと、ファイル名「filename.csv」として保存され、
    シート名もfilenameとして保存されます。

    しかし、ダイアログの「開く」を押すと、シート名が、「.csv]filename.(1)」のようになって
    ファイル名も「filename[1].csv」のようになります。

    サーバーからのヘッダには以下のように指定しています。

    ----

    Content-Disposition: attachment;filename="filename.csv"

    ----

    ユーザが「開く」を押したとき、シート名がおかしくみえ、また
    保存の都度ファイル名を変更しなければならないため煩雑です。

    保存した場合と同じように、シート名、ファイル名にするたの方法が
    ありましたら、ご教授ください。

    サーバは、WindowsServer2003+Tomcat5.5

    クライアントは、IE6、Excel2007

     

    2010年6月21日 2:42

回答

  • bkdog さん、

    こんにちは。
    フォーラム オペレーターの服部 清次です。

    ご質問の件に関しまして、私の方で調べてみましたところ、ちょっと気になるサポート技術情報が見つかりました。

    ● 「ファイルのダウンロードダイアログで表示されるファイル名の命名規則」:
       http://support.microsoft.com/kb/436153/ja

    上記のページの 「補足」 という部分に以下のような記載があります。

    「ダウンロードダイアログに、表示されるデフォルトのファイル名が test[1].exe のように、
     "ファイル名 [数字].拡張子" という形式で表示されることがあります。
     Internet Explorer のファイルキャッシュに、同一のファイル名が既に存在する場合、
     重複を回避するためにこのような名前が設定するためです。
     これは、ファイルのダウンロードする際、
     テンポラリファイルがキャッシュディレクトリに一旦保存されるためです」

    上記の記載に基づいて考えますと、bkdog さんのケースでは、
    Excel が IE の作成したキャッシュ ファイルを開いている形になりますので、
    これは IE の既定の動作ではないかと思われます。。。

    ふと思ったのですが、例えば、Content-Disposition = inline ヘッダーを使用するか、
    もしくは Content-Disposition を使わないという形ではいけませんでしょうか?

    こちらの情報がお役に立てることを願っています。
    それでは、また。


    _______________________________________________
    マイクロソフト株式会社 フォーラム オペレーター 服部 清次

    2010年6月22日 6:53

すべての返信

  • bkdog さん、

    こんにちは。
    フォーラム オペレーターの服部 清次です。

    ご質問の件に関しまして、私の方で調べてみましたところ、ちょっと気になるサポート技術情報が見つかりました。

    ● 「ファイルのダウンロードダイアログで表示されるファイル名の命名規則」:
       http://support.microsoft.com/kb/436153/ja

    上記のページの 「補足」 という部分に以下のような記載があります。

    「ダウンロードダイアログに、表示されるデフォルトのファイル名が test[1].exe のように、
     "ファイル名 [数字].拡張子" という形式で表示されることがあります。
     Internet Explorer のファイルキャッシュに、同一のファイル名が既に存在する場合、
     重複を回避するためにこのような名前が設定するためです。
     これは、ファイルのダウンロードする際、
     テンポラリファイルがキャッシュディレクトリに一旦保存されるためです」

    上記の記載に基づいて考えますと、bkdog さんのケースでは、
    Excel が IE の作成したキャッシュ ファイルを開いている形になりますので、
    これは IE の既定の動作ではないかと思われます。。。

    ふと思ったのですが、例えば、Content-Disposition = inline ヘッダーを使用するか、
    もしくは Content-Disposition を使わないという形ではいけませんでしょうか?

    こちらの情報がお役に立てることを願っています。
    それでは、また。


    _______________________________________________
    マイクロソフト株式会社 フォーラム オペレーター 服部 清次

    2010年6月22日 6:53
  • bkdog さん、こんにちは。
    フォーラムオペレーターの三沢健二です。

    少し残念な結果かもしれませんが、弊社 服部の案内した内容が、多少でも参考になられたのではないかと思いましたので、勝手ながら [回答としてマーク] のチェックを付けさせていただきました。


    今後とも、TechNet フォーラムをよろしくお願いします。
    それでは。

    ______________________________________
    マイクロソフト株式会社 フォーラム オペレーター 三沢健二

    2010年7月1日 1:54
    モデレータ