ボタンクリック後にダウンロードページを作りたい。このページにはいくつかの情報が表示され、しばらくするとファイルのダウンロードが開始されます。それが JavaScript や Ajax なしで機能するなら最高です。非同期コントローラーで試しましたが、これは実際には機能しません。
1 に答える
0
これを実現する方法は1つしか思いつきません。間隔の後にブラウザーをダウンロード リンクにリダイレクトする HTTP ヘッダー (更新) を追加します。リンクは添付ファイルである応答を返すため、実際にはブラウザー ページを更新するのではなく、ダウンロードを開始する必要があります。ビューのhead
セクションに次を追加します。
<meta http-equiv="refresh" content="30; ,URL=@Model.DownloadURL">
これは、モデルの DownloadURL モデル プロパティにダウンロード用の URL が含まれていることを前提としています。30 秒後にダウンロードが開始されます。
余談ですが、最初のダウンロード ページを表示するには AJAX が役立つかもしれませんが、AJAX 経由でファイルをダウンロードすることはできません。XMLHttpRequest は を処理しないため、完全なリクエストが必要Content-Disposition: attachment
です。
于 2011-09-10T13:30:33.560 に答える