Ir para conteúdo
Fórum Script Brasil
  • 0

lib cgi python - Upload(post) arquivo acima de 5mb


Eduardo Cini

Pergunta

Tenho um html que roda um script python com a lib cgi, nesse script eu uso para fazer post de arquivo, estou com o seguinte problema, quando envio um arquivo de até 5mb ele envia normalmente e me da o retorno correto, porem quando eu tento enviar um arquivo acima de 5bm ele da o seguinte erro?

Gateway Timeout

The gateway did not receive a timely response from the upstream server or application

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Cara, acabei de descobrir a resposta para o seu problema lendo um tutorial ontem. É preciso fazer um programa que divida o arquivo em pedaços pequenos e escreva-os um por um. Foi esse o código:

#!!!!!!!!!!!!!!!!!!!!!!!!LOCALIZAÇÃO DO PYTHON!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# -*- coding: utf-8 -*-
print 'Content-type: text/html\n'

try:
    import cgi, os
    import cgitb; cgitb.enable()  # for troubleshooting
    import msvcrt
    msvcrt.setmode (0, os.O_BINARY) #stdin = 0
    msvcrt.setmode (1, os.O_BINARY) #stdout = 1
    form = cgi.FieldStorage()
    fileitem = form['file']

    def fbuffer(f, chunk_size=10000):
        while True:
            chunk = f.read(chunk_size)
            if not chunk: break
            yield chunk

    if fileitem.filename:
        fn = os.path.basename(fileitem.filename)
        f = open('files/' + fn, 'wb').write(fileitem.file.read())
        for chunk in fbuffer(fileitem.file):
            f.write(chunk)
            f.close()
        message = 'The file: ' + fn + ' was uploaded succesfully.'
    else:
        message = 'No file was uploaded.'

...

except:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!CÓDIGO DE EXCEÇÃO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Aqui funcionou no localhost (Apache/Windows) com um arquivo de 28mb. Obs. da forma que está, só funciona tendo a página com o formulário e esta que recebe o upload separadas.

Editado por JH Nascimento
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...