【发布时间】:2014-10-14 07:39:15
【问题描述】:
我基本上想在上传后转到不同的页面。这里发生的情况是文件很快上传并保存在服务器上,但之后客户端(我的浏览器)每次都处于等待阶段一分钟,甚至在等待后都不会重定向。如果我删除它,我不会按预期得到任何响应,并且一切都会在几毫秒内发生。
@blah.route('/upload', methods=['GET', 'POST'])
def upload():
if request.method == 'POST' and 'file' in request.files:
file = request.files['file']
if file:
filename = secure_filename(file.filename)
file.save(os.path.join('./tmp/uploads', filename))
print '%s file saved' % filename
return redirect(url_for("blah.list_uploads"))
return render_template('blah/upload.html')
编辑:不确定说我正在使用 DropzoneJS 是否会有所帮助。我认为默认情况下它使用 Ajax。或许与此有关?
【问题讨论】:
-
您的重定向丢失了
url_for。我猜blah不是您的蓝图名称,所以我不确定这是否只是您创建此问题时的遗漏。 -
@dirn 在我的代码中。我的错误遗漏。
-
你说当你删除线(并且只删除线)
return redirect(url_for("blah.list_uploads"))时它不会阻塞一分钟?没有其他的?它看起来很明显,正好是一分钟。也许所有工作人员(或者更可能您只运行一个工作人员)都在忙于其他事情,例如长轮询 AJAX 调用。 -
原谅我的无知。我将如何处理“长轮询”AJAX 调用?我现在在一个 EC2 节点上使用基本的 nginx 设置。即使工人很慢,它最终也应该重定向,对吧?
-
发布你的 dropzone js 代码
标签: python flask dropzone.js