tus
项目描述
tus python集成
此包旨在成为tus可恢复上传标准的稳健实现,tus.io。
集成包括处理WebOb请求和Zope2请求的API。此外,您可以将其作为WSGI过滤器运行服务器。
该包旨在提供您将TUS协议集成到Python Web应用程序所需的一切。
选项
- tmp_file_dir
存储临时文件的目录
- send_file
默认情况下,它只会将请求体中的文件名发送,而不是实际的文件上传
- upload_valid_duration
在多少秒前清理旧上传
- upload_path
仅用于WSGI过滤器
基础
将POST发送到URL,以201响应返回临时文件上传URL的位置。上传URL是基本URL和正在进行的文件上传的唯一ID的组合。例如:/upload/432jjdsfjsd78387
对先前POST中响应的临时文件上传URL执行PATCH。这些可以是整个文件的块。
恢复
通过HEAD到发布的临时文件上传URL来获取已上传的当前大小
集成
WebOb兼容应用程序
提供了一个简单的Webob请求适配器以与API一起使用。此代码假设它将处理所有上传相关请求—这意味着
from tus import Tus, WebobAdapter adapter = WebobAdapter(req) options = { 'tmp_file_dir': '/tmp' } tus = Tus(adapter, **options) if tus.valid: tus.handle() if tus.upload_finished: fipath = tus.get_filepath() # do something here tus.cleanup_file() else: return adapter.resp
Zope2或Plone
此示例取自plone.app.widgets
adapter = Zope2RequestAdapter(req) tus = Tus(adapter, **tus_settings) if tus.valid: tus.handle() if not tus.upload_finished: return else: filename = req.getHeader('FILENAME') if tus.send_file: filedata = req._file else: filepath = req._file.read() filedata = open(filepath) tus.cleanup_file()
WSGI过滤器
Python示例
from tus import Filter as TusFilter filtered = TusFilter(app, tmp_file_dir='/tmp', upload_path='/upload')
WSGI Paste配置示例
基本paste部署配置
[app:main] use = egg:MyEgg filter-with = tus [filter:tus] use = egg:tus#main upload_path = /upload tmp_file_dir = /tmp
或
[filter:tus] use = egg:tus#main upload_path = /upload tmp_file_dir = /tmp [app:main] pipeline = tus egg:MyEgg
0.0
初始版本
项目详情
关闭
tus-1.0a1.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 26f86352a9dd7f52351f54ead80d79a469378c442ce97dd5ef99160dffaba816 |
|
MD5 | e276f0d9b46c5a77eaede454fc4e0cbe |
|
BLAKE2b-256 | ed88bbc06ee5e9512a9bd8316e94c19583b756f040a5ccebce7c4ffc52fd8f19 |