我正在嘗試創建一個文件上傳頁面,它將提示用戶輸入文件並在顯示進度時上傳。如何使用Python/CGI進行文件上傳
目前我已經設法制作一個簡單的HTML頁面,可以調用我的Python腳本。然後python腳本將獲得文件並以1000字節塊的形式上傳。
我有兩個主要的問題(主要是由於完全新的這個):
1)我不能獲取文件大小來計算百分比 2)我不知道如何在通信之間服務器端python和頁面中的任何內容來更新進度狀態;推測是javascript。
我是否在做錯事情?還是有解決我的困境?
這裏是我的Python代碼:
#!/usr/local/bin/python2.5
import cgi, os
import cgitb; cgitb.enable()
try:
import msvcrt
msvcrt.setmode (0, os.O_BINARY)
msvcrt.setmode (1, os.O_BINARY)
except ImportError:
pass
form = cgi.FieldStorage()
upload = form['file']
if upload.filename:
name = os.path.basename(upload.filename)
out = open('/home/oetzi/webapps/py/' + name, 'wb', 1000)
message = "The file '" + name + "' was uploaded successfully"
while True:
packet = upload.file.read(1000)
if not packet:
break
out.write(packet)
out.close()
else:
message = "Derp... could you try that again please?"
print """\
Content-Type: text/html\n
<html><body>
<p>%s</p>
</body></html>
""" % (message,)