我用烧瓶制作了一个小型服务器来上传文件(然后用它们做一些事情)。上传是通过和发送文件的HTML表单:
<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 :(得分:0)
可能是由于超时问题。默认情况下,如果进程超过30秒,gunicorn将挂起。上传大文件的时间很容易超过这个数量。您可能希望在启动gunicorn时指定自定义超时值。例如,如果要将超时设置为300秒:exec gunicorn [app]:[app] --timeout 300