2011-07-19 18 views
1

有点背景。我正在使用plupload在我的应用程序中上传文件。使用plupload与aspx页面表单提交

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"}] 
       }); 

时(显然)将文件添加

// 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(); 
       }); 

提交表单FilesAdded事件触发

$('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

对此的修复其实很简单。

我需要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.