Использование javascript / jquery в поле ввода файла - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть форма с выбором нескольких файлов.Я просто хочу отправить каждый файл на сервер через AJAX (выбран с помощью множественного выбора).

Я могу получить файлы, используя

document.getElementById('attachment_file').files

Я хочу использовать что-то вроде

var files = document.getElementById("attachment_file").files
$.each(files, function(index, file11){
       $.ajax({
        url: "/users",
        type: 'POST',
        dataType: 'json',
        data: {doc: {title: file11}},
        async: false,
        success: function() {
        }

      });
});

Здесь я не могу передать параметры файла.любые предложения

Ответы [ 4 ]

1 голос
/ 03 февраля 2012

Вы можете создать объект FormData и отправить его.

https://developer.mozilla.org/en/DOM/XMLHttpRequest/FormData

См. Пример кода здесь в разделе «Отправка файлов с использованием объекта FormData»:

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

0 голосов
/ 03 февраля 2012

вам не разрешено загружать файлы с обычным AJAX, типичные обходные пути включают использование флэш-памяти или использование (ab) фреймов. https://github.com/blueimp/jQuery-File-Upload должна быть хорошей библиотекой, чтобы вы начали ...

0 голосов
/ 03 февраля 2012

Вы можете использовать этот загрузчик http://www.uploadify.com/documentation/options/width/

0 голосов
/ 03 февраля 2012

AFAIK файлы не могут быть отправлены на сервер через AJAX из-за ограничений безопасности. Различные библиотеки решают эту проблему по-разному - обратитесь к документации по вашей библиотеке.

...