【发布时间】:2012-06-04 08:22:39
【问题描述】:
我正在使用 sqlform 上传视频文件,并希望在上传时对视频文件进行编码。但是我注意到上传文件在完全上传之前并没有保存到上传目录。是否有临时文件,如何访问?谢谢。
【问题讨论】:
标签: python file-upload cgi web2py file-storage
我正在使用 sqlform 上传视频文件,并希望在上传时对视频文件进行编码。但是我注意到上传文件在完全上传之前并没有保存到上传目录。是否有临时文件,如何访问?谢谢。
【问题讨论】:
标签: python file-upload cgi web2py file-storage
我不确定您如何在文件上传时处理文件(即处理服务器接收到的字节),但如果您可以等到文件完全上传,您可以以 Python cgi.FieldStorage 对象的形式访问上传的文件:
def upload():
if request.vars.myfile:
video = encode_video(request.vars.myfile.file)
[do something with video]
form = SQLFORM.factory(Field('myfile', 'upload',
uploadfolder='/path/to/upload')).process()
return dict(form=form)
上传时,request.vars.myfile 将是一个 cgi.FieldStorage 对象,打开的文件对象将在 request.vars.myfile.file 中。请注意,如果编码需要一段时间,您可能希望将其传递给任务队列,而不是在控制器中处理。
【讨论】: