Я использую виджет пользовательского интерфейса Plupload jQuery в качестве основы для своего загрузчика. Виджет позволяет пользователю перетаскивать добавленные файлы.
Загрузка начинается автоматически при отправке формы, а не вручную пользователем. Во время загрузки пользовательский интерфейс блокируется, поэтому пользователь больше не может добавлять файлы.
Прежде чем начнется загрузка, мне нужно переименовать все файлы для загрузки в числовом виде, чтобы первый загружаемый файл (тот, который находится вверху списка виджетов пользовательского интерфейса jQuery) имел значение «1», второй — «2» и т. д. .
Например, учитывая следующий список:
bob.jpg
ann.jpg
doug.jpg
chris.jpg
Я хочу, чтобы они были переименованы:
1.jpg
2.jpg
3.jpg
4.jpg
Это работает, когда пользователь добавляет новые файлы или удаляет существующие файлы. Что не работает, так это когда пользователь перетаскивает файлы. Вот мой код создания экземпляра для загрузчика:
$('#' + div_id).plupload({
runtimes: 'html5, flash, silverlight',
url: 'upload',
unique_names: false,
rename: true,
sortable: true,
buttons: { browse: true, start: false, stop: false },
// Flash settings
flash_swf_url: 'js/plupload/plupload.flash.swf',
// Silverlight settings
silverlight_xap_url : 'js/plupload/plupload.silverlight.xap',
init: {
QueueChanged: function(up) {
for (var i = 0; i < up.files.length; i++) {
up.files[i].name = (i+1);
}
}
}
});
Я не могу понять, как определить, когда пользователь меняет порядок перетаскивания. В противном случае я не вижу события, которое срабатывает, когда начинается загрузка очереди.