Загрузка файлов путем отправки формы в iframe; почему не работает? - PullRequest
1 голос
/ 14 июля 2011

Я пытаюсь реализовать известный метод , используемый для загрузки файлов на сервер AJAX-подобным способом (у меня уже есть флэш-загрузка на месте, это запасной вариант),но кажется, что моя реализация неисправна.Глядя на сетевую информацию об Opera Dragonfly (эквивалент FireBug), кажется, что запрос направлен на текущую страницу, а не на src iframe.

Сначала я был почти уверен, что этоне нормальное поведение, но потом я понял, что iframe - это часть страницы, и подумал, что именно это и представляется.Несмотря на это, сервер не получает запрос в месте, представленном атрибутом src iframe.Может кто-нибудь сказать мне, почему это?

Я включил фотографию записи «Стрекоза», касающуюся отправки формы в iframe.Обратите внимание, что заголовок "referer" совпадает с URL-адресом запроса.Я знаю, что эта форма представления представлена ​​этой записью из-за заголовка Content-Type.

enter image description here

Разметка для iframe и формы выглядит следующим образом:

iframe:

<iframe id='uploadMediaIframe' name='uploadMediaIframe' src='ActionServlet'>


</iframe>

Форма:

<form id='exForm' class='exForms' method='post' target='uploadMediaIframe' enctype='multipart/form-data'>

 <input id='regularUploadFormFileInput' class='regularUploadFormFileInputs' name='Filedata' type='file'/>
 <input name='action' value='uploadEntryMedia' type='hidden'/>
 <input name='type' value='picture' type='hidden'/>

</form>

Любая помощь будет очень высоко ценится.Спасибо.

1 Ответ

1 голос
/ 14 июля 2011

Я думаю, вам не хватает атрибута действия формы. должно быть так:

<form id='exForm' class='exForms' action="posted_url" method='post' target='uploadMediaIframe' enctype='multipart/form-data'>

 <input id='regularUploadFormFileInput' class='regularUploadFormFileInputs' name='Filedata' type='file'/>
 <input name='action' value='uploadEntryMedia' type='hidden'/>
 <input name='type' value='picture' type='hidden'/>

</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...