Я использую виджет пользовательского интерфейса JQuery Plupload в качестве основы для моего загрузчика. Виджет позволяет пользователю перетаскивать переупорядоченные файлы.Как мне численно переименовывать файлы в Plupload до их загрузки?
Загрузка начинается автоматически после подачи формы, а не вручную пользователем. Во время загрузки пользовательский интерфейс блокируется, поэтому пользователь больше не может добавлять файлы.
Прежде чем начать загрузку, мне нужно переименовать все файлы для загрузки численно, чтобы первый загружаемый файл (тот, который находится в верхней части списка виджетов 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);
}
}
}
});
Я не могу понять, как определить, когда пользователь перетаскивать переупорядочивает. В противном случае я не вижу событие, которое запускается, когда начинается загрузка очереди.
Вы пытались использовать событие BeforeUpload, ища индекс файла в очереди и переименовывая его? (должен признаться, что это просто случайные мысли) – jbl
Это возможность, но я на самом деле обнаружил более легкое обходное решение. Однако ваше решение может помочь другим. – Garry