2012-06-04 40 views
1

我正在使用sqlform來上傳視頻文件,並希望在上傳時對視頻文件進行編碼。但我注意到,上傳文件並沒有保存到上傳目錄,直到它完全上傳。是否有臨時文件,我如何訪問它?謝謝。如何訪問web2py中臨時上傳的文件?

回答

1

我不確定在上傳文件的時候你可能能夠處理文件(即處理服務器收到的字節),但是如果你可以等到文件完全上傳,可以訪問上傳的文件是一個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。文件。請注意,如果編碼需要一段時間,您可能希望將其傳遞給任務隊列,而不是在控制器中處理它。

+0

嗯,我只是不能等待,直到文件完全上傳。它必須在上傳時進行編碼。謝謝你們一切。 – Treper