サイトを IIS から GAE に移行していて、大量の画像をバッチ アップロードしようとしています。その特定の課題に加えて、私にはもっと関心のある課題があります。サイトのすべてのコンテンツ (DB に格納されている) は、次のように画像を参照します。
http://myurl.com/images/some-folder/maybe-another-folder/image-name.jpg
画像を提供するために Python で単純なハンドラーを作成しました。
class ServeBlobs(blobstore_handlers.BlobstoreDownloadHandler):
def get(self, resource):
query = "where filename='%s'" % resource
blobs = blobstore.BlobInfo.gql(query).fetch(1)
self.send_blob(blob_infos[0])
そして「ルート」は次のとおりです
('/images/(.*)', ServeBlobs)
これはうまく機能し、別のルックアップ テーブルは必要ありません。ただし、hte Blob のファイル名プロパティに「/」を含めることはできないと確信しているので、上記の例で some-folder または Maybe-another-folder と呼ばれるフォルダー (多数ある) についてはどうすればよいでしょうか?
さらに、異なるフォルダー内の画像名にはほぼ確実に重複があります。
"/images/foldera/main.jpg"
and
"/images/folderb/main.jpg"
何か案は?