如果啓動按鈕沒有被點擊用於文件上傳,我使用的是最新版本的Plupload,我在解決uploader.start()問題時遇到了問題。這裏是完整的代碼,我希望找到每個上傳的文件的臨時名稱,這樣我就可以進入服務器並使用引用ID重命名這些文件,這樣可以很容易地識別出屬於哪個文件。plupload隊列檢查表單上的文件提交有問題
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="Styles/jquery.plupload.queue.css" rel="stylesheet" type="text/css" />
<script src="Script/jquery-1.8.2.js" type="text/javascript"></script>
<script src="Script/FileUpload/plupload.full.js" type="text/javascript"></script>
<script src="Script/FileUpload/jquery.plupload.queue.js" type="text/javascript"></script>
<title>Test Page</title>
<script type="text/javascript">
$(document).ready(function() {
$("#Testloader").pluploadQueue({
runtimes: 'flash',
url: 'FileUpload.ashx',
max_file_size: '100mb',
urlstream_upload: true,
chunk_size: '5MB',
//unique_names: false,
multiple_queues: true,
filters: [
{ title: "Document files", extensions: "pdf,doc,docx,tiff" },
{ title: "Image files", extensions: "jpg,png" }
],
// Flash settings
flash_swf_url: 'Images/plupload.flash.swf',
// // Silverlight settings
// silverlight_xap_url: 'assets/resources/plupload.silverlight.xap',
init: {
FileUploaded: function (up, file, info) {
},
FilesRemoved: function (up, files) {
plupload.each(files, function (file) {
});
}
}
});
});
$('form').submit(function (e) {
alert("clicked me");
var uploader = $("#Testloader").pluploadQueue();
// Files in queue upload them first
if (uploader.files.length > 0) {
// When all files are uploaded submit form
uploader.bind('StateChanged', function() {
if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) {
// $('form')[0].submit();
alert("Form submitted");
}
});
uploader.start();
} else {
alert('You must queue at least one file.');
}
return false;
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="Testloader">
</div>
<input type="submit" value="send" />
</form>
</body>
</html>
請,你能解釋一下 「臨時名稱」? (也許你的整個表單過程)你想實現的目標還不清楚。 實際上,在表單提交後,plupload會檢查隊列中是否還有文件。如果是這樣,plupload延遲表單提交,直到所有文件已上傳。然後它提交表單。 – jbl
臨時名稱只是上傳文件的臨時名稱。我通過給出唯一名稱並將這些名稱存儲在客戶端的哈希表中,然後在提交時單擊將該數組發送到webmethod並使用參考ID重命名所有上傳的文件來獲得此名稱。我同意plupload在提交表單事件上有一個檢查,但這是我感到興奮的JavaScript錯誤的地方。 uploader.files.length ---行說長度未定義...在plupload的提交表單事件實例沒有發生,如果是這樣,長度屬性可能有問題..請指出問題 – Jay