1
我正在構建一個內部webapp來處理DNA序列數據。我需要能夠接受一個通常大於30MB並且可以大到80MB的多個序列的壓縮文件。接受web.py應用程序中的大文件
我跟着我已經在過去用於文件上傳模式:
class ABIUploadHanlder(Handler):
def POST(self):
x = web.input(abifile = {})
filedir = '/usr/local/www/wsgi-scripts'
if 'seqfile' in x:
time_key = str(time.time()).replace('.','')
filepath=x.seqfile.filename.replace('\\','/')
filename = time_key + 'abizipped.zip'
filetype = filename.split('.')[-1]
if filetype == 'zip':
pass
else:
raise web.seeother('/export?err=type')
fout = open(filedir +'/uploads/'+ filename,'w')
fout.write(x.seqfile.file.read())
fout.close()
raise web.seeother('/abiprocess')
當我發佈一個30MB文件到Web表單,我得到奇怪的行爲。偶爾上傳會達到大約30%,然後重新啓動。有時上傳會在一次嘗試後失敗。在所有嘗試上傳永遠不會完成,我最終得到一個「網頁不可用」的錯誤。
我的預感是,我需要告訴網站在上傳過程中保持連接的活躍狀態,即使這需要很長時間。到目前爲止,我還沒有找到如何控制這個問題。
任何幫助表示讚賞。
你的應用程序是如何部署的,它在apache mod_wsgi下運行? – 2012-08-17 07:42:26
它在Apache mod_wsgi上。 – Sevenless 2012-08-17 14:05:05
也許你對web服務器配置中的超時或上傳大小有限制,你有檢查嗎?當您使用集成Web服務器在本地運行您的web.py應用程序時會發生嗎? – 2012-08-18 17:47:18