2017-05-09 25 views
0

我做了一个小型服务器与烧瓶上传文件(然后做他们的东西)。上传是通过和发送文件的HTML表单:服务器无法上传与gunicorn大文件

<form action="/upload" method="POST" enctype="multipart/form-data"> 
    <input type="file" name="file"> 
    <input type="submit"> 
</form> 

在服务器端,我做到以下几点:

@app.route('/upload', methods=['POST']) 
def upload(): 
    if 'file' in request.files: 
     f = request.files['file'] 
     file_path = os.path.join(app.config['UPLOAD_FOLDER'], werkzeug.secure_filename(f.filename)) 
     f.save(file_path) 

    return 'File is being uploaded' 

它工作正常的小文件,但对大文件,它失败。问题是,如果我手动运行脚本而不是通过gunicorn python main.py我可以上传我以前不能使用的文件。我以为我需要改变gunicorn的最大尺寸,但无法找到如何去做。

我也想过使用一个流,然后写块,但我再也找不到如何访问与烧瓶流。

感谢您的帮助

+0

以什么方式? – pvg

回答

-1

这可能是由于超时问题。默认情况下,如果一个进程需要超过30秒,gunicorn会挂起。上传大文件的时间很容易超过这个数量。您可能想要在启动gunicorn时指定自定义超时值。例如,如果你想超时设置为300秒:exec gunicorn [app]:[app] --timeout 300

来源:“它工作正常的小文件,但对大文件,它失败” gunicorn timeout setting

相关问题