Отправьте элемент файла с jquery и ajax: плагины не нужны! - PullRequest
0 голосов
/ 20 октября 2010

Я пытаюсь отправить через ajax форму, содержащую элемент файла.

<form id="classic_upload" enctype="multipart/form-data>
 <input type="file" name="file" id="file"/>
 <br/>
<!-- ...other inputs...-->
<button type="button" id="classic_save"> Send </button> 
</form>

Что мне нужно сделать, это отправить эту форму и проверить, соответствует ли файл некоторым требованиям,поэтому я написал ajax для этой формы

         $('#classic_save').click(function(){

            $.ajax({
              type:"POST",
              url:'<g:createLink action="classicUploadFile" controller="scan"/>',

              success: function(msg){
                        alert("Data Loaded: " + msg);                
              }
            });
          });

Однако я понятия не имею, как отправить файл через ajax.

Некоторый контекст

Первоначально мы использовалиswfUpload для этого.Однако у нас возникли некоторые проблемы с https и некоторые проблемы с сертификатами.Поэтому мы решили реализовать базовый html-запасной вариант.Плагины хороши, но мы должны гарантировать, что этот запасной вариант является пуленепробиваемым (думая о google mail "classic upload").

Есть мысли? iframes путь (читайте где-нибудь, что почта Google использует их для классической загрузки)

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 20 октября 2010

Я использую плагин формы jQuery AJAX на своем сайте для загрузки файлов .

0 голосов
/ 20 октября 2010

Здесь вы найдете действительно хороший пример / учебник по загрузке одного файла http://www.phpletter.com/Demo/AjaxFileUpload-Demo/

Надеюсь, он вам подходит.Приветствия

0 голосов
/ 20 октября 2010

Если хотите, есть плагин jQuery Uploadify , чтобы делать именно то, что вы ищете, кроме других замечательных функций.

...