0

我想从 iframe 中的某种形式将文件上传到远程服务器。但在提交表单之前,我想使用 Django 的内置系统检查它是否有效。那么首先如何在不重定向的情况下将文件上传到远程服务器。我只需要将空 iframe 指定为表单的目标吗?其次,如何围绕提交我不知道,也许是一些 ajaxSubmit 事件,以评估表单,并且仅在它有效时才执行提交本身(所以该函数可能应该返回 True 等)?

4

1 回答 1

0

也许我没有正确理解您的问题,但听起来您想对表单中输入的数据使用 Django 的基于服务器的表单验证。这样做的唯一方法是将表单实际提交到 Django 服务器。

通常,将文件上传到“远程”服务器的方法是提交表单并让远程服务器处理表单提交(包括文件内容)。如果远程服务器也是基于 django 的,您可以使用相同的验证(假设您没有使用CSRF - 我不确定是否可以使用 CSRF 指向另一台服务器,主要是因为那是CSRF 整个观点的一部分)。

那么,你真正的目标是什么?是否有需要该文件的第二台服务器(不是 django 的)?如果是这样,我会在 Django 服务器上处理上传并执行验证,然后使用 ftp、sftp、scp 等连接将文件复制到另一台服务器。

或者,您可以编写自己的 JavaScript(或现有的 JS 框架)来验证表单,然后将表单提交到远程服务器。

顺便说一句,不需要使用 iframe(是否为空)。仅当您的目标是在不离开页面的情况下异步提交文件时才需要这样做。

于 2010-11-17T03:55:33.763 回答