@miskusi
Work with web .NET stack.

Как заставить blueimp jquery работать в браузерах, которые не имеют поддержки file upload с использованием XHR?

Имеется множество input'oв c type="file", без multiple. Выбираю в каждом по картинке, и хочу загрузить все эти картинки на сервер используя плагин blueimp, используя один запрос.
Реализация стырена с stackoverflow.com/questions/8940283/programmatical..., используется следующий хак (как мне кажется).
Html:
<div id="fileupload"> helper div</div>
<input id="post" type="button" value="GO"/>
<input class="zz" type="file" name="file" ><br />
<input class="zz" type="file" name="file" ><br />
<input class="zz" type="file" name="file" ><br />

JS:
$(function () {
        var allFiles = [];
        $('#fileupload').fileupload({
            singleFileUploads:false,
            dataType: 'json',
            url: '@Url.Action("index")',
            done: function(e, data) {
                $.each(data.result, function(index, file) {
                    $('<p/>').text(file.name).appendTo(document.body);
                });
            }
        });
        $('.zz').bind('change', function (e) {
            var f;
            f = e.target.files || [{ name: this.value }];
            allFiles.push(f[0]);
        });
        $("#post").click(function () {
            $('#fileupload').fileupload('send', { files: allFiles });            
        });

    });

В ie10+ и нормальных браузерах код работает отлично. В ie 8-9, которые не имеют поддержки file upload с использованием XHR, данный код не работает.
На странице документации https://github.com/blueimp/jQuery-File-Upload/wiki... описано что надо использовать fileInput, однако как его заюзать с использованием такого кода я не понял.
Прошу поделиться какими-либо мыслями по этому поводу, может кто посоветует лучший подход или плагин.
Server side: .NET
  • Вопрос задан
  • 3078 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы