4

これは私の問題です:サーバーにいくつかのpdfファイルがあり、私のDjango Webアプリケーションは別のサーバーでホストされています(pdfファイルとは異なります)。私のアプリケーションでは、他のサーバー上のpdfファイルのリンクを知っています。Webサーバーアプリケーションでそれらを読み取らずに、アプリケーションを介してそのpdfファイルをダウンロードしたい。

私は説明しようとします。ダウンロードリンクをクリックすると、ブラウザは PDF を内部の PDF ビューアに表示します。私はこれを望んでいません。ボタンをクリックすると、ユーザーが内部ブラウ​​ザで開かずにファイルをダウンロードすることを望んでいます。

私はここを見ました:http://docs.djangoproject.com/en/dev/ref/request-response/#telling-the-browser-to-treat-the-response-as-a-file-attachment しかし、これはそうではありません私にとっては良い方法です.Webアプリケーション内のファイルを読み込んでからユーザーに返す必要があるからです。

出来ますか??

4

2 に答える 2

3

うーん、仕事には不適切なツールのようですね。応答ヘッダーを実際に「リダイレクト」して変更することはできません。つまり、django を使用してContent-Dispositionヘッダーを設定するには、django を介してファイルをストリーミングし、django にクライアントにストリーミングさせる必要があります。

軽量の Web サーバーで処理します。たまたま nginx を使用している場合、シナリオに 99% 適合する素晴らしいソリューションを次に示します (1% は、nginx が待機しているヘッダーを設定するレールです)。

ヘッダーを設定するだけで、ファイルが django 処理を必要としない場合は、プロキシするのがさらに簡単になります!

nginx を使用していない場合は、タイトルを、ファイルのプロキシとヘッダーの設定に関する Web サーバー固有の質問に変更します。

于 2011-03-23T23:05:50.090 に答える