1

私のアプリケーションでは、新しい画像を生成することがあります。ここでコメントを読んだ後、写真をファイルシステムに保存し、メタデータをデータベースに保存することにしました。これで、ファイルはデータベースとは独立して静的に提供されます(bdは、ユーザーがアクセスしたいファイル名をユーザーに提供し、そこからプルします。静的ファイルサーバー)。

しかし、私がここで抱えている問題は、他のユーザーが作成した写真を常にユーザーに見せたいとは限らないということです。たとえば、ユーザーJoeが画像AとBを作成し、ユーザーSueがCとDを作成するとします。JoeにCとDを表示させたくないし、SueにAとBを表示させたくないとします。静的に提供され、JoeがCのURLを推測した場合、彼はそれにアクセスできます。

写真の提供方法は私のdjangoの制御がほとんど及ばないため、ファイルの暗号化(複雑でリソースを大量に消費する)を除いて、ここでの解決策がどうなるかわかりません。

4

2 に答える 2

1

画像パスの一部として、ある属性の1つ以上のMD5hexdigestを使用します。パスはかなりランダムになります。

于 2012-01-14T02:16:07.597 に答える
1

簡単な方法は、djangosend_file[1]を使用してそれを行うことです。これは実装が簡単ですが、拡張性が高くありません。動的に生成されたレポートを提供するために使用します。このソリューションの唯一の利点は、すべてPythonコードであるということです。

より良い方法は、sanmaiのリンクの情報を使用することです。django固有の情報については、http://www.sensibledevelopment.com/2010/11/django-sendfile-an-for-abstraction-large-file-serving-in-django/も参照してください。

1:http ://djangosnippets.org/snippets/101/

于 2012-01-14T12:47:53.040 に答える