Межсайтовая загрузка файла с проверкой формы - PullRequest
0 голосов
/ 16 ноября 2010

Я хотел бы загрузить файл на удаленный сервер из какой-либо формы в iframe. Но перед отправкой формы я хотел бы проверить, является ли она действительной, используя встроенные системы Django. Итак, сначала, как загрузить файл на удаленный сервер без перенаправления. Нужно ли указывать пустой iframe как цель формы? И, во-вторых, как обернуть подчиненное значение, которое я не знаю, может быть, какое-то событие ajaxSubmit, чтобы оценить форму и только когда она действительна, а затем выполнить саму отправку (так что, вероятно, функция должна вернуть True и т. Д.)?

1 Ответ

0 голосов
/ 17 ноября 2010

Возможно, я не правильно понимаю ваш вопрос, но похоже, что вы хотите использовать серверную проверку формы Django для данных, введенных в форму. Единственный способ сделать это - отправить форму на сервер Django.

Обычно вы можете загрузить файл на «удаленный» сервер, отправив форму и попросив этот удаленный сервер обработать отправку формы (включая содержимое файла). Если удаленный сервер также основан на django, вы можете использовать ту же проверку (при условии, что вы не используете CSRF , то есть - я не уверен, возможно ли использовать CSRF для указания на другой сервер, в основном, так как это является частью всей цели CSRF).

Итак, какова ваша настоящая цель? Есть какой-то второй сервер (не Django), который нуждается в файле? Если это так, я бы обработал загрузку на сервер Django и выполнил проверку, а затем использовал соединение, такое как ftp, sftp, scp и т. Д., Чтобы скопировать файл на другой сервер.

Кроме того, вы можете написать свой собственный JavaScript (или существующую платформу JS) для проверки формы и затем отправить форму на удаленный сервер.

Кстати, нет необходимости использовать iframe (пустой или нет). Это необходимо, только если ваша цель - выполнить асинхронную передачу файла, не покидая страницы.

...