0

我在 Django 中构建了一个带有进度条的简单图像上传器。最初上传图片时,我确实看到进度条正确更新为 100%。但是,我还在服务器端进行了进一步的操作(如缩放、保存在不同的位置、创建缩略图等)。

有没有办法让客户端知道“处理图像”正在进行中,并通过另一个进度条报告这一点,例如?

谢谢你的帮助!

4

1 回答 1

0

从理论上讲,您的 Django 应用程序可以定期刷新自身并维护服务器上的状态,在检测到进程处于哪个阶段时更新进度指示器,但是鉴于您标记了 JQuery 和 Ajax,我怀疑您希望在客户端。

如果您通过多个 HTTP 请求在 Django 中将图像处理从一个视图传递到下一个视图,那么在 JQuery 中,您将发送多个 Ajax 请求以“推进”图像直至完成。随着每个请求完成并向客户端返回一些内容,您的 JQuery 可以获取完成状态,相应地更新您的进度条,然后将序列中的下一个请求作为下一个请求提交给 Django。如果您的 Django 应用程序只是在后台通过对服务器的一个 HTTP 请求完成所有操作,那么您的客户端将无法检查进度(我知道),除非 Django 应用程序可以在不同的视图中公开它的进度不知何故,您的客户端可以定期检查它以查看它的位置。

于 2013-09-23T10:57:55.973 回答