5

私の件名は、私が求めていることのほとんどを述べています。レポートをさまざまな形式 (HTML、CSV、TSV、Excel など) で出力する Web サイトを持っています。可能な限り、これらのファイルをブラウザに表示したいと考えています。そのために、「Content-Disposition」が「インライン」になるようにヘッダーを設定しました。これは、さまざまなファイル タイプで非常に一貫性のない動作をします。FF3 と IE7 の両方で、HTML は常に自動的にインラインで開くようです。それは理にかなっている。TSV を使用すると、私のシステムでは未知のファイル タイプであるため、両方のブラウザでダウンロードを求めるプロンプトが表示されます。それも理にかなっており、まさに私が望んでいることです。ただし、Excel と CSV では動作が異なります。FF では、両方とも常にダウンロードまたは開くように求められます。「開く」を選択すると、新しいウィンドウで開きます。IE では、両方ともダウンロードまたは開くためのプロンプト -- これがわかりません。Excel ファイルは Content-Disposition: inline で自動的にインラインで開かれると思いました。IE で「開く」を選択すると、ブラウザでインラインで開きます。

誰かが予期しない動作を説明できますか? これは私にとって実際には問題ではありませんが、私のユーザーはこれをバグだと考えているので、私が彼らに引用できる信頼できる情報源は素晴らしいでしょう. この「問題」について私がこれまでに見つけた唯一のものは、自動オープンインラインが IE のセキュリティ上の欠陥の 1 つである方法についての mozilla フォーラムの 1 行の投稿です...それは古い投稿だったので、おそらくIE7で「修正」されましたか?ありがとう。

4

2 に答える 2

3

あなたはすでにこれを解決しているかもしれませんが、そうでない場合は答えがあるかもしれません (同じ問題を抱えている将来の人々のために、これも私を夢中にさせました!)

この動作は、次を使用してクライアントで上書きできます。

  1. Windows エクスプローラーに移動
  2. [ツール] -> [フォルダ オプション] を選択します
  3. 「ファイルの種類」タブを選択
  4. 拡張子「DOC」(または「PDF」など)を検索
  5. 「上級」を選択</li>
  6. 必要に応じて、「ダウンロード後に開くことを確認する」にチェックを入れる/外します。

プレビュー/ダウンロード機能を実装するために使用されるメカニズムは、通常 MimeType「application/」を使用する「content-disposition」ヘッダーの使用によるものです。これは基本的に、指定されたアプリケーションを使用してアプリケーションを開くようにローカル クライアントに指示しますが、アプリケーションの上記の設定によって、要求された配信形式が上書きされる可能性があります。

于 2009-12-07T11:58:33.093 に答える
0

サーバーが CSV および Excel ファイルの正しい MIME タイプを提供していることを確認してください。それらを適切に処理するために、それらのタイプを認識し、ファイル タイプ ハンドラ/プラグインを備えたブラウザであっても、正しい MIME タイプが必要になります。

おそらく、両方の MIME タイプを application/vnd.ms-excel にする必要があります。

これらを Web サーバーで通常のファイルとして提供している場合、Apache の関連する設定は mime.types ファイルです。

application/vnd.ms-excel xls csv

これらのファイルをアプリケーションから提供する場合は、Content-Type: application/vnd.ms-excel ヘッダーを自分で追加する必要があります。

一部のユーザーでは、期待どおりに動作しない場合があることに注意してください。たとえば、Microsoft Office がインストールされていないユーザー、別のブラウザーを使用しているユーザー、またはファイル タイプの関連付けをいじっているユーザーなどです。

(参考までに、この記事ではその手順について説明します。たまたま Plone/Zope を使用できますが、考え方は同じです)。

于 2009-04-21T16:13:45.093 に答える