用于管理文件上传的WSGI中间件
项目描述
infrae.fileupload是一个WSGI组件,可以用作中间件来拦截单个文件上传并将它们保存到磁盘上。然后,对应用程序的请求被一个描述文件信息的JSON体所替换。浏览器发送的原文件名和MIME类型被保留为元数据。除此之外,还可以通过HTTP请求查询上传状态并重置它(通过将/status附加到上传URL)。通过WSGI应用程序提供的environ字典公开API,可以用来查询文件。
API提供了以下方法
- create_identifier()
创建一个新的上传标识符,可以在提交表单时通过在URL中使用X-Progress-ID参数来提供。
- verify_identifier(identifier)
验证给定的标识符。
- access_upload_bucket(identifier)
访问给定的上传。返回一个具有以下方法的对象
- get_status()
返回一个包含上传元数据信息的字典。
- get_filename()
返回上传文件的文件名。
- is_complete()
如果上传已完成,则返回True。
- clear_upload()
删除上传文件。
- clear_upload_bucket(identifier)
删除指定的上传文件。
可以将该组件作为独立的WSGI应用程序使用,并拥有一个位于不同URL的专用上传服务器。
Paster
可以使用Paster通过egg:infrae.fileupload
来使用上传中间件(和上传应用程序)。配置指令包括
- directory
用于存储上传文件的目录。如果多个进程跨多个服务器配置了相同的URL,它们也应该共享这个目录。
- max_size
上传文件允许的最大大小,以兆字节为单位。
- upload_url
上传文件的URL。如果没有指定,将使用WSGI环境指定的URL。如果指定了,中间件不会截获上传,并假定这个任务由给定的URL处理。这在大型安装中用于通过使用独立应用程序而不是中间件来拥有一个专用上传服务器。上传URL始终以
/upload
结尾。如果不是这样,它将被附加到末尾。- upload_key
用于哈希上传标识符的私有密钥。这可以启用基本安全,防止滥用上传中间件或应用程序。如果多个进程和安装共享相同的上传URL,它们也应该共享相同的上传密钥。
变更
1.0.1 (2013/10/09)
支持不正确终止的格式错误的请求。
1.0 (2013/10/08)
初始发布。
项目详情
infrae.fileupload-1.0.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0e275818f946f80ce4c540a8b78a57a32a2dcf83c5de8b94133e7a5367b60e25 |
|
MD5 | cd10f604d30635c83feb0dac8a7f9333 |
|
BLAKE2b-256 | 33b20c1ea74a447b0429ebefe06cb2f9797a2c93f752c0f7629f34df059a2ed7 |