私はBottle.pyで次の静的ルートを定義しました
@get('/create/new/image', apply=[auth_request])
def request_new_image():
file = invoke_image_creation()
return static_file(file, root='pics',
mimetype='image/jpg')
このメソッドinvoke_image_creation()
では、単純なイベントロック(threading.Event
)を使用して、イメージが作成されるまでアプリケーションをブロックします。次に、静的ファイルを返す必要があります。
小さい画像の場合、これは機能します。大きい画像(1280x720、約50 KB)の場合、次のようになります。
- HTTP 200
- 応答するコンテンツはありません
- コンテンツの長さ:0
- MIMEタイプ:image / jpg
ブロッキングは、それがそこにあることを確認するために、ほんの一瞬だけ続きます。
何が原因でしょうか?単純なルーティング静的ファイル機能を使用すると、まったく同じ画像で問題なく機能します。唯一の違いは、ファイルが事前に存在し、HTTPGETリクエストで定義されていることです。