Jump to content
Fórum Script Brasil
  • 0

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


Eduardo Cini

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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.

Edited by JH Nascimento
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...