Как использовать Python / CGI для загрузки файлов

Я пытаюсь создать страницу загрузчика файлов, которая будет запрашивать у пользователя файл и будет загружать, показывая прогресс.

На данный момент я Мне удалось создать простую HTML-страницу, которая может вызывать мой скрипт на Python. Затем скрипт python получит файл и загрузит его кусками по 1000 байт.

У меня две основные проблемы (в основном из-за того, что я совершенно новичок в этом):

1) Я не могу получить размер файла для расчета процента 2) Я не знаю, как взаимодействовать между питоном на стороне сервера и всем, что находится на странице, чтобы обновить статус выполнения; предположительно, 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,)
6
задан bta 6 March 2013 в 20:11
поделиться