<rmcreative>

RSS

noSWFUpload - мультизагрузка файлов без Flash

21 марта 2009

http://www.3site.eu/noswfupload/noswfupload.gif

— Небольшой: 3.64 Кб.

— Работает в IE 5.5+, FireFox 3+, Chrome 1.0, Opera 8+, Safari 4, во всём, что поддерживает iframe.

Демо

Проект на Google Code

Комментарии RSS

  1. №1405
    Romanoza
    Romanoza 21.03.2009, 18:14:29

    это не мультизагрузка

    при обзоре нельзя выделить больше 1 файла

  2. №1406
    Sam
    Sam 22.03.2009, 1:59:01

    Хорошее замечание. Конечно же выбираются файлы по одному.

    Данный подход — нечно среднее между «честной» мультизагрузкой и загрузкой по одному файлу.

  3. №1409
    Евгений
    Евгений 22.03.2009, 20:15:35

    Что значит "Конечно же"?

    Флеш позволяет выделять много файлов.

  4. №1410
    Sam
    Sam 23.03.2009, 9:48:26

    Евгений, так тут JavaScript-версия…

  5. №1413
    Bonch
    Bonch 23.03.2009, 23:31:19

    Странно, у меня в Google Chrome работает мультизагрузка, можно выделить несколько файлов сразу. Как я понял, это делается при помощи multiple="multiple" у тега input type="file".

    Пойду проверять как так)

  6. №1414
    Seven
    Seven 24.03.2009, 15:04:24

    по одному файлу это геморой полный

  7. №1416
    Sam
    Sam 24.03.2009, 17:02:28

    В Safari и Chrome это можно. В остальных — как-бы не очень…

  8. №2730
    Денис
    Денис 17.07.2010, 10:19:11

    в firefox тоже работает

  9. №2878
    Jay
    Jay 13.08.2010, 18:18:24

    В своё время я так же сделал объект на JavaScript для формирования списка загружаемых файлов, но потом пришёл к выводу, что для пользователя всё же проще использовать несколько полей для загрузки...

  10. №10800
    Rustam
    Rustam 07.12.2016, 11:03:24

    Чем он лучше простого XMLHTTPREQWUEST??

    Я в 3 строки уложил причем через AJAX.И работает также (если есть поддержка multiple ?то можно выбрать сколько угодно иначе 1 файл за раз). files - массив файлов из input type file .fileInputEl.dom.files!

    var form = new FormData();
    for(i=0;i<files.length;i++) {
    form.append(files[i].name,files[i]);
    }
    var xhr = new XMLHttpRequest();
    xhr.onload = function() {
    console.log("Отправка завершена");
    }
    xhr.open('post',"/url сайта куда посылать ajax запрос",true);
    xhr.send(form);

    На php ловим массив $_FILES c именем files[i].name и делаем что хотим. Если кому то непонятно то в php :

    $tmpdir = 'D:/tmp/' //- папка должна существовать на сервере 
    foreach($_FILES as $values) {
    $tmpfile =  $tmpdir.basename($values['name']);
    $succes = move_uploaded_file($value['tmp_name'],$tmpfile);
    }
  11. №10801
    Sam
    Sam 07.12.2016, 11:33:22

    Rustam, сейчас ничем. В 2009 XMLHttpRequest грузить файлы не умел.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.