私はダウンロード配信の方法を使用していましたが、安全ではなかったので変更することにしました。 (この方法はストレージ内の元のファイルへのリンクでしたが、そのリンクを持つ全員がファイルをダウンロードできたという危険性がありました!)ので、私はビューを介してファイルを提供します。しかし、ファイルの同時ダウンロード要求が多数あるうちに、サーバーの負荷が高いことに気付いています。ここではユーザーのためにダウンロードを扱う私のコードの一部は、 Djangoで大きなファイルを扱う(負荷が高い)
image = Image.open ("the path to file")
response = HttpResponse(mimetype = 'image/png')
response['Content-Disposition'] = 'attachment: filename=%s.png' % filename
image.save(response , "png")
return response
は、セキュリティを維持しながらファイルを提供し、サーバ側の負荷を低減するための任意のより良い方法がある(ファイルが画像で考えてみましょう)ですか? ありがとうございます。
画像を開いているのはなぜですか?もう一度保存するだけですか? –
@burhanファイルにアクセスしてpng画像ファイルとして提供できるようにファイルを開いたので、画像を開かずにファイルを開くことはできますか? –
すべてのクールな子供たちがmod_pythonを使用しなくなるまで、あなたはDjangoの認証システムから認証することができます:https://docs.djangoproject.com/en/dev/howto/apache-auth/しかし、今ではすべてのクールな子供たちがWSGIを使用していますとnginx)。それをベースにした解決策は、より広範なコミュニティに役立つでしょう – Spacedman