一点背景。我正在使用plupload上传我的应用程序中的文件。
传递的url
是我的aspx的url,我处理文件的所有处理。
发生的情况是,第一次浏览并选择文件时没有任何反应。第二次,它立即回复两个表单提交。
您能从以下代码中找到任何明显的遗漏吗?
// Initialize the uploader
uploader = new plupload.Uploader({
runtimes: 'html5,gears,flash,silverlight,browserplus',
browse_button: 'browse',
drop_element: 'uploadContainer',
container: 'uploadContainer',
max_file_size: '10mb',
multi_selection: false,
url: 'someURLHere',
filters: [{ title: "Pdf files", extensions: "pdf"}]
});
当(显然)添加文件时,FilesAdded事件会触发
// File Added event
uploader.bind('FilesAdded', function (up, files) {
$.each(files, function (i, file) {
// Add element to file object
file.formattedSize = plupload.formatSize(file.size);
$('form').submit();
// Reposition Flash/Silverlight
up.refresh();
});
提交表格
$('form').submit(function (e) {
uploader.start();
e.preventDefault();
});
HTML
<form id="uploadForm">
<div id="uploadContainer">
<span id="uploadDragText" style="display: none;">Drag and Drop items here</span
<div id="fileList"></div>
<button id="browse" class="ButtonSubmit">Browse...</button>
</div>
</form>
我用这个伟大的答案作为起点。 using Plupload with ASP.NET/C#
答案 0 :(得分:0)
对此的修复实际上非常简单。
我需要init()
上传者之前我将任何事件绑定到它,因为init()
实际上绑定了一些默认处理程序。
// Initialize the uploader
uploader = new plupload.Uploader({
runtimes: 'html5,gears,flash,silverlight,browserplus',
browse_button: 'browse',
drop_element: 'uploadContainer',
container: 'uploadContainer',
max_file_size: '10mb',
multi_selection: false,
url: 'someURLHere',
filters: [{ title: "Pdf files", extensions: "pdf"}]
});
uploader.init();
// Then add in any of your event handlers.