Como Transferir Arquivos Grandes desde localhost para o Mundo

Como Transferir Arquivos Grandes desde localhost para o Mundo

Introdução

O upload de arquivos é uma funcionalidade comum em muitos aplicativos web. No entanto, quando se trata de arquivos grandes, como vídeos, imagens de alta resolução ou conjuntos de dados volumosos, pode ser desafiador lidar com o processo de upload de maneira eficiente. Este tutorial irá mostrar como construir um servidor robusto que aceita arquivos de até 5 GB de tamanho, usando o Flask, um framework web leve e flexível.

Problema

Ao construir um aplicativo que requer o upload de arquivos grandes, é importante garantir que o servidor possa lidar com esses arquivos de forma eficiente e segura. Muitos servidores web têm limitações no tamanho máximo de arquivo que podem ser enviados, o que pode ser problemático ao lidar com arquivos grandes. Este script resolve esse problema ao configurar um servidor Flask para aceitar arquivos de até 5 GB de tamanho.

Requisitos

Antes de começar, certifique-se de ter o Python e o Flask instalados em seu sistema. Você pode instalar o Flask usando pip:

pip install Flask        

Passo a Passo

Aqui está como você pode criar um servidor para upload de arquivos grandes usando Flask:

  1. Inicialize o Projeto

mkdir upload_server
cd upload_server        

  1. Crie o Arquivo do Servidor

Dentro do diretório do seu projeto, crie um arquivo chamado app.py e adicione o seguinte código:

from flask import Flask, render_template, request

app = Flask(__name__)

# Define o tamanho máximo de conteúdo (5 GB neste exemplo)
app.config['MAX_CONTENT_LENGTH'] = 5 * 1024 * 1024 * 1024  # 5 GB em bytes

@app.route('/')
def index():
    return render_template('upload.html')

@app.route('/upload', methods=['POST'])
def upload_file():
    try:
        # O código de upload permanece o mesmo
        if 'file' not in request.files:
            return 'Nenhum arquivo presente na solicitação', 400

        file = request.files['file']

        if file.filename == '':
            return 'Nome de arquivo inválido', 400

        save_path = './'
        file.save(save_path + file.filename)

        return 'Upload bem-sucedido', 200

    except Exception as e:
        return f'Erro durante o upload: {str(e)}', 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=True)        

  1. Crie o Arquivo HTML para o Formulário de Upload

Crie um arquivo chamado upload.html dentro de um diretório chamado templates. Este arquivo será usado para exibir o formulário de upload:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Upload de Arquivos</title>
</head>
<body>
    <h1>Upload de Arquivos Grandes</h1>
    <form action="/upload" method="post" enctype="multipart/form-data">
        <input type="file" name="file" accept=".csv, .xlsx, .txt">
        <input type="submit" value="Enviar">
    </form>
</body>
</html>
        

  1. Execute o Servidor

Abra um terminal, navegue até o diretório do seu projeto e execute o arquivo app.py:

python app.py        

  1. Teste o Servidor

Abra um navegador da web e vá para http://localhost:5000. Você verá um formulário de upload de arquivos. Selecione um arquivo grande para fazer o upload e clique em "Enviar". O arquivo será carregado para o diretório do servidor.

Último Passo: A grande jogada para Acesso Externo - Ngrok

Embora o servidor Flask esteja funcionando localmente, você pode querer compartilhar seu aplicativo com outras pessoas ou acessá-lo de outros dispositivos. Para isso, você pode usar o Ngrok, uma ferramenta que cria túneis seguros para expor servidores locais para a internet.

  • baixe e Instale o Ngrok: Visite o site oficial do Ngrok e baixe a versão apropriada para o seu sistema operacional. Após o download, descompacte o arquivo e mova o executável para um local de sua escolha, como o diretório do seu projeto.
  • Execute o Ngrok: Abra um terminal e navegue até o diretório onde você colocou o executável do Ngrok. Em seguida, execute o seguinte comando para iniciar um túnel para o seu servidor Flask:

./ngrok http 5000        

Isso iniciará o Ngrok e atribuirá um URL público ao seu servidor Flask, que será exibido no terminal.

  • Acesse seu Aplicativo via Ngrok: Copie o URL público fornecido pelo Ngrok e cole-o em um navegador da web. Agora seu aplicativo Flask estará acessível externamente, permitindo que você compartilhe-o com outras pessoas ou acesse-o de outros dispositivos.

Com o Ngrok, você pode cruzar fronteiras e tornar seu servidor Flask acessível globalmente de forma rápida e segura. Lembre-se de que o URL fornecido pelo Ngrok é temporário e mudará sempre que você reiniciar o Ngrok. Se você deseja um URL estável, considere se inscrever em um plano pago do Ngrok.

Entre para ver ou adicionar um comentário

Outras pessoas também visualizaram

Conferir tópicos