Upload de arquivos grandes no Flask

Estou tentando implementar um aplicativo de balão para fazer upload de arquivos. Este arquivo pode ser muito grande. Por exemplo, quase 2G de tamanho.

Eu terminei a função de processo do lado do servidor assim:

@app.route("/upload/<filename>", methods=["POST", "PUT"])
def upload_process(filename):
    filename = secure_filename(filename)
    fileFullPath = os.path.join(application.config['UPLOAD_FOLDER'], filename)
    with open(fileFullPath, "wb") as f:
        chunk_size = 4096
        while True:
            chunk = flask.request.stream.read(chunk_size)
            if len(chunk) == 0:
                return

            f.write(chunk)
    return jsonify({'filename': filename})

Quanto ao lado do navegador, devo fornecer aos usuários um para enviar o arquivo. Um arquivo de cada vez. Mostrar barra de progresso para indicar o processo de upload. Mas não faço ideia do código do lado do navegador. Como posso usar o código javascript para iniciar o upload e mostrar o status?

questionAnswers(1)

yourAnswerToTheQuestion