<a>
タグをクリックすると、ファイルを保存するダイアログボックスを強制する方法はありますか。リモートサーバーにはPDFファイルがあり、ユーザーがそのリンクをクリックすると、そのPDFファイルをローカルシステムにダウンロードします。HTMLを使用して保存ダイアログを表示する方法
おかげ
<a>
タグをクリックすると、ファイルを保存するダイアログボックスを強制する方法はありますか。リモートサーバーにはPDFファイルがあり、ユーザーがそのリンクをクリックすると、そのPDFファイルをローカルシステムにダウンロードします。HTMLを使用して保存ダイアログを表示する方法
おかげ
あなたはブラウザがそれをロードするため、ファイルは常にブラウザの内側に表示されるファイルをリンクし、ファイル拡張子に基づいてコンテンツタイプを自動的に決定します。したがって、jpgイメージpdfなどのリンクをクリックすると、ブラウザはイメージ/ファイルであることを認識し、そのファイルを表示します。もちろん、ブラウザのショートカットメニューを使用して、[ファイルをディスクに保存する]オプションを使用して保存することもできます。
サーバー側からリンクをクリックしたときにこれを自動的に実行する場合は、自分でファイルを送信して、出力にいくつかのカスタムヘッダーを追加する必要があります。これを行う方法は、Response.TransmitFile()
を使用して明示的にASP.NETアプリケーションからファイルを送信し、コンテンツタイプとコンテンツ処理ヘッダーを追加することです。
だから、あなたはヘッダーを使用するnededは以下liek:ここ
header('Content-Disposition: attachment; filename="filename.pdf"');
はexapmleはあなたを助けるかもしれないです:
http://www.west-wind.com/weblog/posts/2007/May/21/Downloading-a-File-with-a-Save-As-Dialog-in-ASPNET
..
例通常 header('Content-Disposition: attachment; filename="downloaded.pdf"')
path = "path/to/file.pdf";
$filename = "file.pdf";
header('Content-Transfer-Encoding: binary'); // For Gecko browsers mainly
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($path)) . ' GMT');
header('Accept-Ranges: bytes'); // For download resume
header('Content-Length: ' . filesize($path)); // File size
header('Content-Encoding: none');
header('Content-Type: application/pdf'); // Change this mime type if the file is not PDF
header('Content-Disposition: attachment; filename=' . $filename); // Make the browser display the Save As dialog
彼が探しているものはダウンロードしながら対話保存開いていませんホストからの何か。
彼はクライアントのファイルシステムからファイルを開くことを検討しています。これを行うには、入力タイプのファイルを使用する必要があります。しかし、あなたはjavascriptを使ってそれを操作する多くの特権を得ることはありません。
標準のhtmlでウィンドウの保存ダイアログを促す方法はありません。
ActiveXやFlashが必要です。
オープン/セーブですか?ユーザーは何を開きたいのですか? –
私の記事をよく読んでください。 'ユーザーがそのリンクをクリックすると、そのpdfファイルをローカルシステムにダウンロードします。'これは私が非常に明確だと思いますか? 編集:タイトルを変更します。ごめんなさい – Ozkan