我在 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 类型:图像/jpg
阻塞只持续片刻,不到一秒钟,只是为了确保它在那里。
是什么原因造成的?使用简单的路由静态文件功能可以很好地处理完全相同的图片。唯一的区别是,该文件是预先存在的,并且它在 HTTP GET 请求中定义。