2009-06-21 9 views
0

ウェブページ上にある通常のウェブページ/ファイル、PDF/ZIPのようなファイルタイプ、または単にPHPの出力のいずれかを使用するJavaScriptを使用できるHTMLページのリンクが必要です/ ASP/HTML。ウェブサーバから任意のファイルタイプをダウンロード

mime_content_typeを返すサーバーサイドのダウンロードスクリプトでは可能ですが、ブラウザはその設定に基づいてブラウザを処理します。 (一般的にダウンロード)、私は本当にJavaScriptのみのソリューションが好きです。何か案は?

+0

ファイルの種類に関係なく、ダウンロードダイアログを強制的に実行する(つまり、Adobe Readerを使用してブラウザにPDFを開く、HTMLページをレンダリングしないなど)ことを正しく理解していますか?その場合、ヘッダ "Content-Disposition:attachment;"を追加することができます。サーバー側でクライアント側でこれを強制する方法はわかりません。 – Blixt

答えて

1

:ASPでたとえば、ファイルを提供する前に、ファイルにコンテンツタイプを与えるだろうそれはサーバー側で行う必要があります。 Apacheサーバーでこれを実行するには、ファイル.htaccessにこれを追加します。AddType application/octet-stream mp3ここで、mp3はダウンロードする必要があるファイルタイプです。

+1

downvoteへの憎しみが、これは質問を無視しています。彼はJavaScriptのみのソリューションを求めました。レスポンスヘッダを変更するには、サーバ側に何か必要があります。 – Macha

3

MIMEタイプのヘッダーを変更する必要があるため、javascriptでこれを行うことはできません。あなたができるベストはopen( 'url')を使って別のウィンドウで開くことですが、あなたのニーズに合っているとは思えず、ポップアップブロッカーによってブロックされる可能性もあります。

+0

IEのブラウザではexecCommand()コールでこれを行うことができます –

+0

IEユーザーのみを対象とする場合、このような方法を使用できますが、お勧めしません。 –

0

Fabienが指摘しているように、Webサーバーを使用してファイルを提供する必要があります。

Content-type: application/octet-stream 
Content-Transfer-Encoding: binary 
Content-disposition: attachment; filename=test.pdf 
1

:あなたは、私は次のヘッダーを使用していますSave Asダイアログを表示するには、ブラウザを強制する場合

Response.contenttype = "application/octet-stream" 
関連する問題