用于管理文件上传的wsgi中间件
infrae.fileupload的Python项目详细描述
infrae.fileupload是一个wsgi组件,可以用作 中间件,以便拦截单个文件上载并将其保存在 磁盘。然后将对应用程序的请求替换为json 描述文件信息的主体。原始文件名 浏览器发送的mimetype作为元数据保存。除了 这样,就可以查询上传的状态并重置它 使用http请求(通过将/status附加到上载url)。API是 通过提供wsgi应用程序的environdictionary公开 可用于查询文件。
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使用 使用egg:infrae.fileupload。配置指令是:
- directory
- 存储上载文件的池目录。如果是多重的 跨多个服务器的进程被配置为同一个url,它们 也应该共享此目录。
- max_size
- 一个上传的最大允许大小。
- upload_url
- 上传文件的URL。如果未指定,则指定URL 将使用wsgi环境。如果指定了,则 中间件不会拦截上传并假定此任务已处理 通过给定的url。这在大型安装中使用,以便 通过使用独立的应用程序有一个专用的上传服务器 而不是中间件。上传URL总是以 /upload。如果不是这样的话,它会附加在后面。
- upload_key
- 用于哈希上载标识符的私钥。这使得 防止滥用上传中间件或 申请。如果多个进程和安装共享 相同的上传URL,他们也应该共享相同的上传密钥。
更改
1.0.1(2013/10/09)
- 支持未正确终止的格式错误请求。
1.0(2013/10/08)
- 初次发布。