我正在使用Plupload jQuery UI小部件作爲我的上傳者的基礎。該小部件允許用戶拖動重新排序添加的文件。如何在數字上重命名Plupload中的文件,然後才能上傳?
上傳在提交表單時自動開始,而不是由用戶手動完成。在上傳過程中,UI被阻止,用戶無法添加任何文件。
在上傳開始之前,我需要重新命名所有要上傳的文件,以便上傳的第一個文件(位於jQuery UI小部件列表頂部的文件)爲'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