您的位置:首页 > 编程语言 > Python开发

1.4.1 STATIC FILES(静态文件)

2016-01-08 16:22 627 查看
你可以直接返回文件对象,但是static_file()是一种更推荐的方式来提供静态文件。它自动猜测出文件的类型,加入Last-Modified头部,约束路径到根目录为了安全起见,并且生成合适的错误响应(403是权限错误,404是丢失文件)。它甚至提供If-Modified-Since头部甚至产生304 允许修改响应。你可以手动指定MIME类型。

from bottle import static_file
@route('/images/<filename:re:.*\.png>')
def send_image(filename):
return static_file(filename, root='/path/to/image/files', mimetype='image/png')

@route('/static/<filename:path>')
def send_static(filename):
return static_file(filename, root='/path/to/static/files')


你可以把static_file()当做异常抛出,如果你非要这么做的话~

强制下载

大多数浏览器会尝试打开下载的文件,如有MIME类型是很常见的话,然后交给一个应用(比如说PDF文件)。如果这不是你想要的,你可以强制一个下载对话框甚至给用户建议一一个文件名:

@route('/download/<filename:path>')
def download(filename):
return static_file(filename, root='/path/to/static/files', download=filename)


如果download参数只是一个True,则会用filename。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息