2017-10-05 13 views
1

My Flaskアプリは、ユーザーがサインアップして支払いをした後に高解像度の画像を表示します。イメージは/static/img/wall/ディレクトリに保存され、wall_001.jpg,wall_002.jpgなどの名前が付けられます。私は今のところこの命名計画に固執する必要があります。数字は基本的にIDとして機能し、アプリ全体で使用します。Flaskでファイルへのパスの名前を変更

支払い後に画像を表示すると、画像<img src="/static/img/wall/wall_001.jpg" alt="Wallpaper">への直接経路が使用されます。

誰かが望むのであれば、そのリンクを新しいタブに簡単に貼り付けてwall_002.jpg, wall_003.jpgなどにアクセスすることができます。

の支払い後に画像のパス名を変更したり、画像が配信されたときにファイル名をランダム化する方法はありますか?

Flask-Resize/Flask-Imagesは、新しいファイルを作成してキャッシュフォルダに保存するため、この問題を処理する方法として使用しました。しかし、生産中のこれらの拡張子を持つhaving problemsです。

編集:これは重複する質問ではありません。それは別のシナリオです。私の質問は、ログインだけでなく支払いも扱っています。したがって、元のURLをランダム化/名前変更/マスクする必要があります。

+0

してください上のpythonランダム()

 import random import string def randomword(length): return ''.join(random.choice(string.lowercase) for i in range(length)) 

コードリファレンス、ユーザー「STH」を使用してランダムに生成することができます。 – rocksteady

+0

@rocksteady私はすでに、ソーシャルネットワーク用のOAuth2でFlask-Loginを使用しています。私は '/ static/img/wall/wall_001.jpg'(など)のファイルへのアクセスを制限する方法がわからないと思います... – mapr

答えて

0

ファイルへのリンクをos.link()またはソフトにして、その名前を顧客に表示します。名前は、認証とログインページを追加することstackoverflowの

+0

これは重複する質問ではありません。問題は、広告アプリケーションファイルシステムの構造を公然と防ぐ方法です。 – Michael

関連する問題