Таким образом - я использовал этот метод файла, загружающего некоторое время, но кажется, что Google Gears имеет плохую поддержку более новых браузеров, которые реализуют спецификации HTML5. Я услышал, что слово удержало от использования плавание вокруг нескольких каналов, таким образом, я ищу замену, которая может выполнить следующие задачи, и поддерживать новые браузеры. Я могу всегда отступать к механизмам / стандартный файл POST, но эти после объектов делают мой процесс намного более простым:
PUT
запросы вместо POST
нажать.Я не уверен, имеют ли новые браузеры 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;
}
Править: по-видимому, флэш-память не способна к использованию ПОМЕЩЕННЫХ запросов, таким образом, я изменил его на "подобное" вместо "должен".
(Создано из комментария к исходному вопросу, по предложению спрашивающих.)
Plupload - один из новейших детей в блоке, и он использует лучший доступный метод (HTML 5, Flash , Gears, Silverlight): http://plupload.com/
Ранее я уже использовал такие, как http://www.webresourcesdepot.com/open-source-flash-uploader-multi-bit-shift/. Они работают нормально и, поскольку зависят только от flash, должны работать на большинстве компьютеров. Я не нашел надежного способа сделать это с помощью js, но flash можно контролировать с помощью js - особенно если вы напишете свой собственный.
надеюсь, это поможет.