Обработка загрузок файла с JavaScript и Google Gears, там лучшее решение?

Таким образом - я использовал этот метод файла, загружающего некоторое время, но кажется, что Google Gears имеет плохую поддержку более новых браузеров, которые реализуют спецификации HTML5. Я услышал, что слово удержало от использования плавание вокруг нескольких каналов, таким образом, я ищу замену, которая может выполнить следующие задачи, и поддерживать новые браузеры. Я могу всегда отступать к механизмам / стандартный файл POST, но эти после объектов делают мой процесс намного более простым:

  1. Пользователи ДОЛЖНЫ, чтобы смочь выбрать несколько файлов для загрузки в диалоговом окне.
  2. Я ДОЛЖЕН смочь получить обновления статуса на передаче файла. (индикаторы выполнения)
  3. Я хотел бы смочь использовать PUT запросы вместо POST
  4. Я хотел бы смочь легко присоединить эти события к существующим элементам HTML с помощью JavaScript. Т.Е. Выбор Файла должен быть инициирован на a
  5. Я хотел бы смочь управлять параметрами ответа/запроса легко с помощью JavaScript.

Я не уверен, имеют ли новые браузеры HTML5 поддержку использования механизмов объектов рабочего стола/запроса, или если существует загрузчик флэш-памяти, который имеет эти функции, которые я пропускаю в своих поисках Google.

Пример загрузки кода с помощью механизмов:

// select some files:
var desktop = google.gears.factory.create('beta.desktop');
desktop.openFiles(selectFilesCallback);

function selectFilesCallback(files) {
  $.each(files,function(k,file) {
    // this code actually goes through a queue, and creates some status bars
    // but it is unimportant to show here...
    sendFile(file);
  });
}

function sendFile(file) {
  google.gears.factory.create('beta.httprequest');
  request.open('PUT', upl.url);
  request.setRequestHeader('filename', file.name);
  request.upload.onprogress = function(e) {
    // gives me % status updates...  allows e.loaded/e.total
  };
  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      // completed the upload!
    }
  };
  request.send(file.blob);
  return request;
}

Править: по-видимому, флэш-память не способна к использованию ПОМЕЩЕННЫХ запросов, таким образом, я изменил его на "подобное" вместо "должен".

6
задан Community 23 May 2017 в 12:11
поделиться

2 ответа

(Создано из комментария к исходному вопросу, по предложению спрашивающих.)

Plupload - один из новейших детей в блоке, и он использует лучший доступный метод (HTML 5, Flash , Gears, Silverlight): http://plupload.com/

1
ответ дан 17 December 2019 в 20:31
поделиться

Ранее я уже использовал такие, как http://www.webresourcesdepot.com/open-source-flash-uploader-multi-bit-shift/. Они работают нормально и, поскольку зависят только от flash, должны работать на большинстве компьютеров. Я не нашел надежного способа сделать это с помощью js, но flash можно контролировать с помощью js - особенно если вы напишете свой собственный.

надеюсь, это поможет.

1
ответ дан 17 December 2019 в 20:31
поделиться
Другие вопросы по тегам:

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